aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/src
AgeCommit message (Collapse)AuthorFilesLines
2013-10-01Fix build break when configured with --enable-symvers=gnu-versioned-namespacePaul Pluzhnikov1-0/+2
2013-10-01 Paul Pluzhnikov <ppluzhnikov@google.com> * src/c++11/snprintf_lite.cc: Add missing _GLIBCXX_{BEGIN,END}_NAMESPACE_VERSION From-SVN: r203076
2013-09-23snprintf_lite.cc (__concat_size_t): Use unsigned long long conditionally.Paul Pluzhnikov1-3/+9
2013-09-23 Paul Pluzhnikov <ppluzhnikov@google.com> * src/c++11/snprintf_lite.cc (__concat_size_t): Use unsigned long long conditionally. From-SVN: r202836
2013-09-23Unbreak i386 and other builds where size_t != unsigned long.Paul Pluzhnikov1-2/+3
2013-09-23 Paul Pluzhnikov <ppluzhnikov@google.com> * src/c++11/snprintf_lite.cc (__concat_size_t): Use only std::__int_to_char<unsigned long long>() From-SVN: r202832
2013-09-21Print additional info when various out-of-range conditions are detected.Paul Pluzhnikov4-1/+179
2013-09-21 Paul Pluzhnikov <ppluzhnikov@google.com> * include/bits/functexcept.h (__throw_out_of_range_fmt): New. * src/c++11/functexcept.cc (__throw_out_of_range_fmt): New. * src/c++11/snprintf_lite.cc: New. * src/c++11/Makefile.am: Add snprintf_lite.cc. * src/c++11/Makefile.in: Regenerate. * config/abi/pre/gnu.ver: Add _ZSt24__throw_out_of_range_fmtPKcz. * include/std/array (at): Use __throw_out_of_range_fmt. * include/debug/array (at): Likewise. * include/profile/array (at): Likewise. * include/std/bitset (_M_check_initial_position, _M_check): New. (bitset::bitset): Use _M_check_initial_position. (set, reset, flip, test): Use _M_check. * include/ext/vstring.h (_M_check, at): Use __throw_out_of_range_fmt. * include/bits/stl_vector.h (_M_range_check): Likewise. * include/bits/stl_bvector.h (_M_range_check): Likewise. * include/bits/stl_deque.h (_M_range_check): Likewise. * include/bits/basic_string.h (_M_check, at): Likewise. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust. * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc: Likewise. * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: Likewise. * testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc: Likewise. * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise. * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Likewise. * testsuite/util/exception/safety.h (generate): Use __throw_out_of_range_fmt. From-SVN: r202818
2013-08-14compatibility.cc (_ZTIe): Use reinterpret_cast<const cast *> to avoid ↵Uros Bizjak1-8/+13
-Wcast-qual warnings. * src/c++98/compatibility.cc (_ZTIe): Use reinterpret_cast<const cast *> to avoid -Wcast-qual warnings. (_ZTIPe): Ditto. (ZTIPKe): Ditto. From-SVN: r201729
2013-08-14compatibility.cc (_ZTIe): Use (const cast *) to avoid -Wcast-qual warnings.Uros Bizjak1-9/+8
* src/c++98/compatibility.cc (_ZTIe): Use (const cast *) to avoid -Wcast-qual warnings. (_ZTIPe): Ditto. (ZTIPKe): Ditto. From-SVN: r201727
2013-08-14compatibility.cc (_ZTIe): Use const_cast to avoid warning.Uros Bizjak1-3/+6
* src/c++98/compatibility.cc (_ZTIe): Use const_cast to avoid warning. (_ZTIPe): Ditto. (ZTIPKe): Ditto. From-SVN: r201723
2013-08-08hashtable_policy.h (_Hashtable_alloc): New.François Dumont1-0/+1
2013-08-08 François Dumont <fdumont@gcc.gnu.org> * include/bits/hashtable_policy.h (_Hashtable_alloc): New. (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than _Hashtable. (_Before_begin<>): Remove. * include/bits/hashtable.h (_Hashtable): Inherit from _Hashtable_alloc and adapt. Restore _M_before_begin field. * src/c++11/hashtable_c++0x.cc: Add ext/alloc_traits.h include. * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt access to hashtable before begin. * testsuite/23_containers/unordered_set/ not_default_constructible_hash_neg.cc: Adapt dg-error line number. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise. From-SVN: r201592
2013-08-06Commit the vtable verification feature.Caroline Tice6-16/+37
Commit the vtable verification feature. This feature is designed to detect, at run time, if/when the vtable pointer in a C++ object has been corrupted, before allowing virtual calls through that pointer. If pointer corruption is detected, execution of the program is halted. libstdc++-v3 ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> * fragment.am: Add XTEMPLATE_FLAGS. * configure.ac: Add definitions for --enable-vtable-verify. * acinclude.m4: Add --enable-vtable-verify and --disable-vtable-verify; define --enable-vtable-verify; define VTV_CXXFLAGS, VTV_PCH_CXXFLAGS and VTV_CXXLINKFLAGS. * config/abi/pre/gnu.ver: Export symbols for vtable verification. * libsupc++/Makefile.am: Define vtv_sources and add it to libsupc___la_SOURCES and libsupc__convenience_la_SOURCES. * libsupc++/vtv_stubs.cc: New file. * include/Makefile.am: Add VTV_PCH_CXXFLAGS to PCHFLAGS. * src/Makefile.am: Add VTV_CXXFLAGS to AM_CXXFLAGS; add VTV_CXXLINKFLAGS to CXXLINK. * src/c++98/Makefile.am: Comment out XTEMPLATE_FLAGS; add VTV_CXXFLAGS to AM_CXXFLAGS; add VTV_CXXXLINKFLAGS to CXXLINK. * src/C++11/Makefile.am: Ditto. * doc/xml/manual/configure.xml: Add entry for --enable-vtable-verify. * scripts/testsuite_flags.in: Add cxxvtvflags to Usage; cause cxxvtvflags to use VTV_CXXFLAGS and VTV_CXXLINKFLAGS. * testsuite/lib/libstdc++.exp: Add cxxvtvflags; add code to locate libvtv if --enable-vtable-verify was used; set cxxvtvflags; add cxxvtvflags to cxx_final. * testsuite/18_support/bad_exception/23591_thread-1.c: Add -fvtable-verify=none to compiler flags. * testsuite/17_intro/freestanding.cc: Add -fvtable-verify=none to compiler flags. * configure: Regenerated. * Makefile.in: Regenerated. * python/Makefile.in: Regenerated. * include/Makefile.in: Regenerated. * libsupc++/Makefile.in: Regenerated. * config.h.in: Regenerated. * po/Makefile.in: Regenerated. * src/Makefile.in: Regenerated. * src/c++98/Makefile.in: Regenerated. * src/c++11/Makefile.in: Regenerated. * doc/Makefile.in: Regenerated. * testsuite/Makefile.in: Regenerated. top level ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> * configure.ac: Add target-libvtv to target_libraries; disable libvtv on non-linux systems; add target-libvtv to noconfigdirs; add libsupc++/.libs to C++ library search paths. * configure: Regenerated. * Makefile.def: Add libvtv to target_modules; make libvtv depend on libstdc++ and libgcc. * Makefile.in: Regenerated. include/ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> * vtv-change-permission.h: New file. contrib/ChangeLog: 2013-08-06 Caroline Tice4 <cmtice@google.com> * gcc_update: Add libvtv files. libgcc/ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> config.host (extra_parts): Add vtv_start.o, vtv_end.o vtv_start_preinit.o and vtv_end_preinit.o. configure.ac: Add code to check/set enable_vtable_verify. Makefile.in: Add rules to build vtv_*.o, if enable_vtable_verify is true. vtv_start_preinit.c: New file. vtv_end_preinit.c: New file. vtv_start.c: New file. vtv_end.c: New file. configure: Regenerated. gcc/ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> * gcc.c (VTABLE_VERIFICATION_SPEC): New definition. (LINK_COMMAND_SPEC): Add VTABLE_VERIFICATION_SPEC. * tree-pass.h: Add pass_vtable_verify. * varasm.c (assemble_variable): Add code to properly set the comdat section and name for the .vtable_map_vars section. (assemble_vtyv_preinit_initializer): New function. (default_sectin_type_flags): Make sure .vtable_map_vars section has LINK_ONCE flag. * output.h: Add function decl for assemble_vtv_preinit_initializer. * vtable-verify.c: New file. * vtable-verify.h: New file. * flag-types.h (enum vtv_priority): Defintions for flag_vtable_verify initialiation levels. * timevar.def (TV_VTABLE_VERIFICATION): New definition. * passes.def: Insert pass_vtable_verify. * aclocal.m4: Reorder includes. * doc/invoke.texi: Add documentation for the flags -fvtable-verify=, -fvtv-debug and -fvtv-counts. * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Add vtv_start*.o, as appropriate, if -fvtable-verify=... is used. (GNU_USER_TARGET_ENDFILE_SPEC): Add vtv_end*.o as appropriate, if -fvtable-verify=... is used. * Makefile.in (OBJS): Add vtable-verify.o to list. (vtable-verify.o): Add new build rule. (GTFILES): Add vtable-verify.c to list. * common.opt (fvtable-verify=): New flag. (vtv_priority): Values for fvtable-verify= flag. (fvtv-counts): New flag. (fvtv-debug): New flag. * tree.h (save_vtable_map_decl): New extern function decl. gcc/cp/ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> * Make-lang.in (*CXX_AND_OBJCXX_OBJS): Add vtable-class-hierarchy.o to list. (vtable-class-hierarchy.o): Add build rule. * cp-tree.h (vtv_start_verification_constructor_init_function): New extern function decl. (vtv_finish_verification_constructor_init_function): New extern function decl. (build_vtbl_address): New extern function decl. (get_mangled_vtable_map_var_name): New extern function decl. (vtv_compute_class_hierarchy_transitive_closure): New extern function decl. (vtv_generate_init_routine): New extern function decl. (vtv_save_class_info): New extern function decl. (vtv_recover_class_info): New extern function decl. (vtv_build_vtable_verify_fndecl): New extern function decl. * class.c (finish_struct_1): Add call to vtv_save_class_info if flag_vtable_verify is true. * config-lang.in: Add vtable-class-hierarchy.c to gtfiles list. * vtable-class-hierarchy.c: New file. * mangle.c (get_mangled_vtable_map_var_name): New function. * decl2.c (start_objects): Update function comment. (cp_write_global_declarations): Call vtv_recover_class_info, vtv_compute_class_hierarchy_transitive_closure and vtv_build_vtable_verify_fndecl, before calling finalize_compilation_unit, and call vtv_generate_init_rount after, IFF flag_vtable_verify is true. (vtv_start_verification_constructor_init_function): New function. (vtv_finish_verification_constructor_init_function): New function. * init.c (build_vtbl_address): Remove static qualifier from function. libvtv/ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> Initial check-in of new vtable verification feature. * configure.ac : New file. * acinclude.m4 : New file. * Makefile.am : New file. * aclocal.m4 : New file. * configure.tgt : New file. * configure: New file (generated). * Makefile.in: New file (generated). * vtv_set.h : New file. * vtv_utils.cc : New file. * vtv_utils.h : New file. * vtv_malloc.cc : New file. * vtv_rts.cc : New file. * vtv_malloc.h : New file. * vtv_rts.h : New file. * vtv_fail.cc : New file. * vtv_fail.h : New file. * vtv_map.h : New file. * scripts/run-testsuite.sh : New file. * scripts/sum-vtv-counts.c : New file. * testsuite/parts-test-main.h : New file. * testusite/dataentry.cc : New file. * testsuite/temp_deriv.cc : New file. * testsuite/register_pair.cc : New file. * testsuite/virtual_inheritance.cc : New file. * testsuite/field-test.cc : New file. * testsuite/nested_vcall_test.cc : New file. * testsuite/template-list-iostream.cc : New file. * testsuite/register_pair_inserts.cc : New file. * testsuite/register_pair_inserts_mt.cc : New file. * testsuite/event.list : New file. * testsuite/parts-test-extra-parts-views.cc : New file. * testsuite/parts-test-extra-parts-views.h : New file. * testsuite/environment-fail-32.s : New file. * testsuite/parts-test-extra-parts.h : New file. * testsuite/temp_deriv2.cc : New file. * testsuite/dlopen_mt.cc : New file. * testsuite/event.h : New file. * testsuite/template-list.cc : New file. * testsuite/replace-fail.cc : New file. * testsuite/Makefile.am : New file. * testsuite/Makefile.in: New file (generated). * testsuite/mempool_negative.c : New file. * testsuite/parts-test-main.cc : New file. * testsuite/event-private.cc : New file. * testsuite/thunk.cc : New file. * testsuite/event-defintiions.cc : New file. * testsuite/event-private.h : New file. * testsuite/parts-test.list : New file. * testusite/register_pair_mt.cc : New file. * testsuite/povray-derived.cc : New file. * testsuite/event-main.cc : New file. * testsuite/environment.cc : New file. * testsuite/template-list2.cc : New file. * testsuite/thunk_vtable_map_attack.cc : New file. * testsuite/parts-test-extra-parts.cc : New file. * testsuite/environment-fail-64.s : New file. * testsuite/dlopen.cc : New file. * testsuite/so.cc : New file. * testsuite/temp_deriv3.cc : New file. * testsuite/const_vtable.cc : New file. * testsuite/mempool_positive.c : New file. * testsuite/dup_name.cc : New file. From-SVN: r201555
2013-08-01re PR libstdc++/57779 (vector insert fails to diagnose iterators pointing ↵François Dumont1-6/+10
into *this in debug mode) 2013-08-01 François Dumont <fdumont@gcc.gnu.org> PR libstdc++/57779 * include/debug/formatter.h (_Debug_msg_id): Add __msg_insert_itself_range entry. * include/debug/functions.h (_Insert_range_from_self_is_safe<>): New, indicate container types supporting self range insertion in GNU implementation. (__foreign_iterator): New, check if an iterator points to a given sequence. * include/debug/macros.h (__glibcxx_check_insert_range): Add check using __foreign_iterator. (__gibcxx_check_insert_range_after): Likewise. * include/debug/string (_Insert_range_from_self_is_safe<>): Partially specialized to mark __gnu_debug::basic_string<> as supporting self range insert. * include/debug/list (_Insert_range_from_self_is_safe<>): Partially specialized to mark std::list as supporting self range insert if _GLIBCXX_DEBUG_PEDANTIC is not defined. * include/debug/forward_list (_Insert_range_from_self_is_safe<>): Likewise. * src/c++11/debug.cc (_S_debug_messages): Add __msg_insert_itself_range_entry message. (_Error_formatter::_Parameter::_M_print_description): Display iterator sequence address rather than sequence address when the parameter type is an iterator. (_Error_formatter::_M_print_word): Enhance behavior when displaying a word with an appended '\n'. * testsuite/util/debug/checks.h (check_insert4<>): New. * testsuite/23_containers/deque/debug/insert5_neg.cc: New. * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise. * testsuite/23_containers/vector/debug/insert6_neg.cc: Likewise. * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise. * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc: Likewise. From-SVN: r201416
2013-07-31functexcept.cc: Do not include the whole <regex>.Paolo Carlini2-2/+3
2013-07-31 Paolo Carlini <paolo.carlini@oracle.com> * src/c++11/functexcept.cc: Do not include the whole <regex>. * src/c++11/regex.cc: Likewise. From-SVN: r201369
2013-07-24random.h (random_device): Avoid using the FILE type.Paolo Carlini1-9/+10
2013-07-24 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/random.h (random_device): Avoid using the FILE type. * include/std/random: Do not include <cstdio>. * src/c++11/random.cc: ... include it here. (random_device::_M_init, random_device::_M_fini, random_device::_M_getval): Cast back and forth void* and FILE*. From-SVN: r201215
2013-07-23random: Add back <cstdio> include.Paolo Carlini1-2/+0
2013-07-23 Paolo Carlini <paolo.carlini@oracle.com> * include/std/random: Add back <cstdio> include. * src/c++11/random.cc: Don't include <cstdio> here. From-SVN: r201160
2013-07-22re PR libstdc++/57920 ([c++11] Linux: std::random_device reads too much from ↵Paolo Carlini1-0/+9
/dev/urandom) 2013-07-22 Paolo Carlini <paolo.carlini@oracle.com> PR c++/57920 * src/c++11/random.cc (random_device::_M_getval): If possible, use read instead of std::fread. * include/std/random: Do not include <cstdio> unnecessarily. From-SVN: r201133
2013-07-21re PR libstdc++/54352 (relaxed data race rules for ~condition_variable_any)Jonathan Wakely4-7/+73
PR libstdc++/54352 * include/std/condition_variable (condition_variable_any): Move into inline namespace _V2 and replace mutex member with shared_ptr<mutex>. * src/c++11/condition_variable.cc (condition_variable_any): Move definitions to ... * src/c++11/compatibility-condvar.cc (condition_variable_any): Here. * src/Makefile.am: Add new source file. * src/Makefile.in: Regenerate. From-SVN: r201112
2013-05-28compatibility-chrono.cc (steady_clock::now()): If !_GLIBCXX_USE_GETTIMEOFDAY ↵Jonathan Wakely1-1/+4
perform conversion inline instead of calling... * src/c++11/compatibility-chrono.cc (steady_clock::now()): If !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of calling non-existent from_time_t. From-SVN: r199391
2013-05-25chrono: Wrap clocks in inline namespace _V2.Benjamin Kosnik2-51/+67
2013-05-24 Benjamin Kosnik <bkoz@redhat.com> * include/std/chrono: Wrap clocks in inline namespace _V2. * src/c++11/chrono.cc: Same. * src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc file, with default configure macros selected. * config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline namespace. * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up. * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Regenerated. * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Regenerated. * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated. * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated. * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Regenerated. * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated. * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated. From-SVN: r199331
2013-05-24chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, include unistd.h and ↵Jakub Jelinek4-6/+113
sys/syscall.h. * src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, include unistd.h and sys/syscall.h. If _GLIBCXX_COMPATIBILITY_CXX0X, don't define system_clock::is_steady, system_clock::now() and steady_clock::is_steady. (std::chrono::system_clock::now()): If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call syscall (SYS_clock_gettime, ...) instead of clock_gettime (...). (std::chrono::system_clock::now()): Likewise. Add weak attribute if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will be non-empty. * src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc. (compatibility-chrono.lo, compatibility-chrono.o): New goals. * src/c++11/compatibility-chrono.cc: New file. * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp). * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.20 version and make it the latest. * config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export also @@GLIBCXX_3.4.19. Move all symbols so far added for GCC 4.9 to @@GLIBCXX_3.4.20 instead. * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Regenerated. * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Regenerated. * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated. * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated. * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Regenerated. * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated. * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated. * config.h.in: Regenerated. * src/Makefile.in: Regenerated. * configure: Regenerated. From-SVN: r199307
2013-05-19system_error (error_category::error_category()): LWG 2145: Declare public ↵Jonathan Wakely2-2/+4
and constexpr. * include/std/system_error (error_category::error_category()): LWG 2145: Declare public and constexpr. * src/c++11/system_error.cc (error_category::error_category()): Move definition to ... * src/c++11/compatibility-c++0x.cc: Here. From-SVN: r199071
2013-04-22* src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h.Jason Merrill1-0/+1
From-SVN: r198170
2013-04-21system_error.cc (generic_category_instance): Add initializer.Evgeniy Stepanov2-3/+3
2013-04-21 Evgeniy Stepanov <eugenis@google.com> * src/c++11/system_error.cc (generic_category_instance): Add initializer. (system_category_instance): Likewise. * src/c++11/future.cc (__fec): Likewise. From-SVN: r198115
2013-02-12Makefile.am (hashtable_c++0x.lo, [...]): Use -fimplicit-templates.Benjamin Kosnik3-7/+14
2013-02-11 Benjamin Kosnik <bkoz@redhat.com> * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o): Use -fimplicit-templates. * src/c++11/Makefile.in: Regenerate. * src/c++11/hashtable_c++0x.cc: Remove instantiation for std::lower_bound template. From-SVN: r195966
2013-02-06Add missing explicit instantiation for std::lower_bound templateDodji Seketeli1-0/+7
Since commit r195676[1], it looks like libstdc++-v3/src/c++11/hashtable_c++0x.cc is missing an explicit instantiation for std::lower_bound. This leads to libstdc++.so having the symbol for that (missing) instantiation be undefined, thus preventing executables from being linked with libstdc++. The patchlet below seems to fixed the issue for me. Boostrapped and tested on x86_64-unknown-linux-gnu. [1]: commit bc36b44c7cb0e5e97ac807b8fb17507e0fb09008 Author: fdumont <fdumont@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Fri Feb 1 20:44:41 2013 +0000 2013-02-01 François Dumont <fdumont@gcc.gnu.org> * include/bits/hashtable_policy.h (_Prime_rehash_policy::_M_next_bkt) (_Prime_rehash_policy::_M_need_rehash): Move definition... * src/c++11/hashtable_c++0x.cc: ... here. * src/shared/hashtable-aux.cc: Remove c++config.h include. * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy symbols. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195676 138bc75d-0d04-0410-961f-82ee72b054a4 libstdc++-v3/ChangeLog * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add missing instantiation for std::lower_bound template. From-SVN: r195783
2013-02-04functional_hash.h (std::__is_fast_hash<>): New.François Dumont1-0/+1
2013-02-04 François Dumont <fdumont@gcc.gnu.org> * include/bits/functional_hash.h (std::__is_fast_hash<>): New. * include/bits/basic_string.h: Specialize previous to mark std::hash for string types as slow. * include/bits/hashtable.h (__cache_default): Replace is_integral with __is_fast_hash. * src/c++11/hash_c++0x.cc: Add type_traits include. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adapt dg-error line number. * testsuite/23_containers/unordered_set/ not_default_constructible_hash_neg.cc: Likewise. From-SVN: r195738
2013-02-03Update copyright in libstdc++-v3.Richard Sandiford70-120/+70
From-SVN: r195701
2013-02-012013-02-01 François Dumont <fdumont@gcc.gnu.org>François Dumont2-7/+68
* include/bits/hashtable_policy.h (_Prime_rehash_policy::_M_next_bkt) (_Prime_rehash_policy::_M_need_rehash): Move definition... * src/c++11/hashtable_c++0x.cc: ... here. * src/shared/hashtable-aux.cc: Remove c++config.h include. * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy symbols. From-SVN: r195676
2013-01-07re PR libstdc++/55847 (mistake bad_weak_ptr::what() message)Jonathan Wakely2-6/+8
PR libstdc++/55847 * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string. * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify string. PR libstdc++/55728 * include/std/functional (bad_function_call::what()): Declare. * src/c++11/functional.cc (bad_function_call::what()): Define. * config/abi/pre/gnu.ver (bad_function_call::what()): Export. * testsuite/20_util/bad_function_call/what.cc: New. From-SVN: r194958
2013-01-04Update Copyright years for files modified in 2011 and/or 2012.Jakub Jelinek5-5/+5
From-SVN: r194903
2012-12-20re PR libstdc++/55741 (bootstrap fails in libstdc++-v3/src/c++11/thread.cc)Jonathan Wakely1-5/+10
PR libstdc++/55741 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Check for Sleep. * config.h.in: Regenerate. * configure: Regenerate. * src/c++11/thread.cc (__sleep_for): Use Sleep if available. From-SVN: r194635
2012-12-16thread.cc (execute_native_thread_routine): Do not swallow __forced_unwind ↵Jonathan Wakely1-0/+5
exceptions. * src/c++11/thread.cc (execute_native_thread_routine): Do not swallow __forced_unwind exceptions. * testsuite/30_threads/thread/native_handle/cancel.cc: New. From-SVN: r194539
2012-12-10Makefile.am (libstdc++-symbols.ver): Use CONFIG_HEADER.Matthias Klose2-2/+2
2012-12-10 Matthias Klose <doko@ubuntu.com> * src/Makefile.am (libstdc++-symbols.ver): Use CONFIG_HEADER. * src/Makefile.in: Regenerate. From-SVN: r194346
2012-11-23re PR libstdc++/52680 (std::this_thread::sleep_for #ifdef'd out by ↵Jonathan Wakely1-2/+46
_GLIBCXX_USE_NANOSLEEP) PR libstdc++/52680 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Check for usleep and sleep if nanosleep is not available. Bump libtool revision. * config.h.in: Regenerate. * configure: Likewise. * config/abi/pre/gnu.ver (GLIBCXX_3.4.18): Add __sleep_for. * include/std/thread (this_thread::__sleep_for): Add. (this_thread::yield, this_thread::sleep_until, this_thread::sleep_for): Declare unconditionally. * src/c++11/thread.cc (this_thread::__sleep_for): Define. * testsuite/lib/libstdc++.exp (check_v3_target_nanosleep): Rename to check_v3_target_sleep. * testsuite/lib/dg-options.exp (dg-require-nanosleep): Rename to dg-require-sleep. * testsuite/30_threads/condition_variable_any/53830.cc: Update. * testsuite/30_threads/this_thread/2.cc: Likewise. * testsuite/30_threads/this_thread/3.cc: Likewise. * testsuite/30_threads/this_thread/4.cc: Likewise. * testsuite/30_threads/async/54297.cc: Likewise. From-SVN: r193769
2012-11-10* many: Replace uses of __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.Jason Merrill5-5/+5
From-SVN: r193392
2012-11-07array (_GLIBCXX_THROW_OR_ABORT): Move...Paolo Carlini1-111/+38
2012-11-07 Paolo Carlini <paolo.carlini@oracle.com> * include/debug/array (_GLIBCXX_THROW_OR_ABORT): Move... * include/bits/c++config: ... here. * include/bits/shared_ptr_base.h (__throw_bad_weak_ptr): Use it. * include/ext/pb_ds/exception.hpp: Likewise. * include/ext/throw_allocator.h (__throw_forced_error): Likewise. * include/ext/concurrence.h (__throw_concurrence_lock_error, __throw_concurrence_unlock_error, __throw_concurrence_broadcast_error, __throw_concurrence_wait_error): Likewise. * include/tr1/shared_ptr.h (__throw_bad_weak_ptr): Likewise. * include/tr1/functional (function<_Res(_ArgTypes...)>::operator() (_ArgTypes...)): Likewise. * libsupc++/eh_aux_runtime.cc (__cxxabiv1::__cxa_bad_cast, __cxxabiv1::__cxa_bad_typeid): Likewise. * libsupc++/vec.cc (compute_size): Likewise. * libsupc++/new_op.cc (operator new (std::size_t)): Likewise. * src/c++11/functexcept.cc: Likewise. * testsuite/util/io/illegal_input_error.hpp (__throw_illegal_input_error): Likewise. * libsupc++/eh_personality.cc: Avoid warning with -fno-exceptions. * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line numbers. * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Likewise. * testsuite/23_containers/array/tuple_interface/ tuple_element_debug_neg.cc: Likewise. * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Likewise. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise. From-SVN: r193295
2012-11-05forward_list: Update to meet allocator-aware requirements.Jonathan Wakely1-1/+2
* include/profile/forward_list: Update to meet allocator-aware requirements. * include/debug/forward_list: Likewise. * include/debug/vector: Verify allocators are swapped or equal. * include/debug/macros.h (__glibcxx_check_equal_allocs): Define. * include/debug/formatter.h: Add new debug message. * src/c++11/debug.cc: Likewise. * testsuite/23_containers/forward_list/allocator/swap.cc: Do not swap containers with non-propagating, non-equal allocators. * testsuite/23_containers/vector/allocator/swap.cc: Likewise. From-SVN: r193186
2012-10-18formatter.h (_Debug_msg_id): Add __msg_valid_load_factor.François Dumont1-1/+2
2012-10-18 François Dumont <fdumont@gcc.gnu.org> * include/debug/formatter.h (_Debug_msg_id): Add __msg_valid_load_factor. * include/debug/macros.h (__glibcxx_check_max_load_factor): New. * include/debug/unordered_set (unordered_set<>::max_load_factor(float)): Check max load factor is positive. (unordered_multiset<>::max_load_factor(float)): Likewise. * include/debug/unordered_map (unordered_map<>::max_load_factor(float)): Likewise. (unordered_multimap<>::max_load_factor(float)): Likewise. * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc: New. * testsuite/23_containers/unordered_multimap/debug/ max_load_factor_neg.cc: New. * testsuite/23_containers/unordered_set/debug/max_load_factor_neg.cc: New. * testsuite/23_containers/unordered_multiset/debug/ max_load_factor_neg.cc: New. From-SVN: r192575
2012-10-16formatter.h (_Debug_msg_id): Add __msg_bucket_index_oob.François Dumont1-1/+3
2012-10-16 François Dumont <fdumont@gcc.gnu.org> * include/debug/formatter.h (_Debug_msg_id): Add __msg_bucket_index_oob. * include/debug/macros.h (__glibcxx_check_bucket_index): New. * include/debug/unordered_set (unordered_set<>::begin(size_type)): Add check on bucket index. (unordered_set<>::begin(size_type) const): Likewise. (unordered_set<>::cbegin(size_type) const): Likewise. (unordered_set<>::end(size_type)): Likewise. (unordered_set<>::end(size_type) const): Likewise. (unordered_set<>::cend(size_type) const): Likewise. (unordered_set<>::bucket_size(size_type)): Likewise. (unordered_multiset<>::begin(size_type)): Likewise. (unordered_multiset<>::begin(size_type) const): Likewise. (unordered_multiset<>::cbegin(size_type) const): Likewise. (unordered_multiset<>::end(size_type)): Likewise. (unordered_multiset<>::end(size_type) const): Likewise. (unordered_multiset<>::cend(size_type) const): Likewise. (unordered_multiset<>::bucket_size(size_type)): Likewise. * include/debug/unordered_map (unordered_map<>::begin(size_type)): Likewise. (unordered_map<>::begin(size_type) const): Likewise. (unordered_map<>::cbegin(size_type) const): Likewise. (unordered_map<>::end(size_type)): Likewise. (unordered_map<>::end(size_type) const): Likewise. (unordered_map<>::cend(size_type) const): Likewise. (unordered_map<>::bucket_size(size_type)): Likewise. (unordered_multimap<>::begin(size_type)): Likewise. (unordered_multimap<>::begin(size_type) const): Likewise. (unordered_multimap<>::cbegin(size_type) const): Likewise. (unordered_multimap<>::end(size_type)): Likewise. (unordered_multimap<>::end(size_type) const): Likewise. (unordered_multimap<>::cend(size_type) const): Likewise. (unordered_multimap<>::bucket_size(size_type)): Likewise. * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc: New. * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: New. * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: New. * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: New. * testsuite/23_containers/unordered_map/debug/end1_neg.cc: New. * testsuite/23_containers/unordered_map/debug/end2_neg.cc: New. * testsuite/23_containers/unordered_map/debug/cend_neg.cc: New. * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc: New. * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc: New. * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc: New. * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc: New. * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc: New. * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc: New. * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc: New. * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc: New. * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: New. * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: New. * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: New. * testsuite/23_containers/unordered_set/debug/end1_neg.cc: New. * testsuite/23_containers/unordered_set/debug/end2_neg.cc: New. * testsuite/23_containers/unordered_set/debug/cend_neg.cc: New. * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc: New. * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc: New. * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc: New. * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc: New. * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc: New. * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc: New. * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc: New. From-SVN: r192512
2012-10-15gthr.m4: New.Pavel Chupin3-3/+9
* config/gthr.m4: New. Define GCC_AC_THREAD_HEADER. * libgcc/configure: Regenerate. * libgcc/configure.ac: Replace code with GCC_AC_THREAD_HEADER use. * libstdc++-v3/Makefile.in: Regenerate. * libstdc++-v3/acinclude.m4: Replace code with GCC_AC_THREAD_HEADER use. * libstdc++-v3/configure: Regenerate. * libstdc++-v3/doc/Makefile.in: Regenerate. * libstdc++-v3/include/Makefile.am: Regenerate. * libstdc++-v3/include/Makefile.in: Rename variable. * libstdc++-v3/libsupc++/Makefile.in: Regenerate. * libstdc++-v3/po/Makefile.in: Regenerate. * libstdc++-v3/python/Makefile.in: Regenerate. * libstdc++-v3/src/Makefile.in: Regenerate. * libstdc++-v3/src/c++11/Makefile.in: Regenerate. * libstdc++-v3/src/c++98/Makefile.in: Regenerate. * libstdc++-v3/testsuite/Makefile.in: Regenerate. From-SVN: r192458
2012-10-12Revert r192297.Kirill Yukhin3-3/+0
From-SVN: r192394
2012-10-10Fix missing gthr-default.h issue on separate libstdc++ configurePavel Chupin3-0/+3
Fix missing gthr-default.h issue on separate libstdc++ configure * libstdc++-v3/acinclude.m4: Define glibcxx_thread_h. * libstdc++-v3/include/Makefile.am: Use glibcxx_thread_h. * libstdc++-v3/Makefile.in: Regenerate. * libstdc++-v3/configure: Regenerate. * libstdc++-v3/doc/Makefile.in: Regenerate. * libstdc++-v3/include/Makefile.in: Regenerate. * libstdc++-v3/libsupc++/Makefile.in: Regenerate. * libstdc++-v3/po/Makefile.in: Regenerate. * libstdc++-v3/python/Makefile.in: Regenerate. * libstdc++-v3/src/Makefile.in: Regenerate. * libstdc++-v3/src/c++11/Makefile.in: Regenerate. * libstdc++-v3/src/c++98/Makefile.in: Regenerate. * libstdc++-v3/testsuite/Makefile.in: Regenerate. From-SVN: r192297
2012-09-29fragment.am (CONFIG_CXXFLAGS): Remove EXTRA_CXX_FLAGS.Benjamin Kosnik6-19/+19
2012-09-28 Benjamin Kosnik <bkoz@redhat.com> * fragment.am (CONFIG_CXXFLAGS): Remove EXTRA_CXX_FLAGS. * libsupc++/Makefile.am (LTCXXCOMPILE): Add EXTRA_CXX_FLAGS here. * src/Makefile.am: Same. * src/c++98/Makefile.am: Same. * src/c++11/Makefile.am: Same. * Makefile.in: Regenerated. * src/Makefile.am: Same. * src/c++11/Makefile.in: Same. * src/c++98/Makefile.in: Same. * include/Makefile.in: Same. * po/Makefile.in: Same. * python/Makefile.in: Same. * testsuite/Makefile.in: Same. 2012-09-28 Benjamin Kosnik <bkoz@redhat.com> * src/c++98/Makefile.am: Fixup PARALLEL_FLAGS. From-SVN: r191847
2012-09-28acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Remove ENABLE_PARALLEL.Benjamin Kosnik11-185/+64
2012-09-28 Benjamin Kosnik <bkoz@redhat.com> * acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Remove ENABLE_PARALLEL. * include/Makefile.am: Same. * src/c++98/Makefile.am: Same. * src/Makefile.am: Same. * Makefile.in: Regenerated. * aclocal.m4: Same. * configure: Same. * doc/Makefile.in: Same. * include/Makefile.in: Same. * libsupc++/Makefile.in: Same. * po/Makefile.in: Same. * python/Makefile.in: Same. * src/Makefile.in: Same. * testsuite/Makefile.in: Same. * src/c++11/Makefile.in: Same. * src/c++98/Makefile.in: Same. * src/c++98/compatibility-debug_list-2.cc: Update comments. * src/c++98/compatibility-debug_list.cc: Same. * src/c++98/compatibility-list-2.cc: Renamed to src/c++98/list-aux-2.cc * src/c++98/compatibility-list.cc: Renamed to src/c++98/list-aux.cc * src/c++98/compatibility-parallel_list-2.cc: Renamed to src/c++98/list_associated-2.cc. * src/c++98/compatibility-parallel_list.cc: Renamed to src/c++98/list_associated.cc. From-SVN: r191837
2012-09-26Optimize bulk mode for normal_distribution<double> for SSE3.Ulrich Drepper3-25/+119
2012-09-26 Ulrich Drepper <drepper@gmail.com> Optimize bulk mode for normal_distribution<double> for SSE3. * configure.host: Define cpu_opt_bits_random. * configure.ac: Substitute CPU_OPT_BITS_RANDOM. * include/Makefile.am (bits_headers): Add ${bits_host_headers}. (bits_host_headers): Define. * include/bits/random.tcc: Move __details::_Power_of_2 to... * include/bits/random.h: ...here. * include/std/random: Include <bits/opt_random.h>. * config/cpu/i486/opt/bits/opt_random.h: New file. * config/cpu/generic/opt/bits/opt_random.h: New file. * configure: Regenerated. * Makefile.in: Regenerated. * aclocal.m4: Regenerated. * doc/Makefile.in: Regenerated. * include/Makefile.in: Regenerated. * libsupc++/Makefile.in: Regenerated. * po/Makefile.in: Regenerated. * python/Makefile.in: Regenerated. * src/Makefile.in: Regenerated. * src/c++11/Makefile.in: Regenerated. * src/c++98/Makefile.in: Regenerated. * testsuite/Makefile.in: Regenerated. * config/cpu/generic/opt/ext/opt_random.h: Fix comment. From-SVN: r191758
2012-09-20re PR libstdc++/28811 (--with-pic vs static libraries and libstdc++)Benjamin Kosnik11-108/+176
2012-09-18 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/28811 PR libstdc++/54482 * configure.ac (glibcxx_lt_pic_flag, glibcxx_compiler_pic_flag, glibcxx_compiler_shared_flag): New. Use them. (lt_prog_compiler_pic_CXX): Set via glibcxx_*_flag(s) above. (pic_mode): Set to default. (PIC_CXXFLAGS): Remove. * Makefile.am (PICFLAG, PICFLAG_FOR_TARGET): Remove. Comment. * libsupc++/Makefile.am: Use glibcxx_ld_pic_flag and glibcxx_compiler_shared_flag. Comment. * src/c++11/Makefile.am: Same. * src/c++98/Makefile.am: Same. * src/Makefile.am: Use glibcxx_compiler_pic_flag. * Makefile.in: Regenerated. * aclocal.m4: Same. * configure: Same. * doc/Makefile.in: Same. * include/Makefile.in: Same. * libsupc++/Makefile.in: Same. * po/Makefile.in: Same. * python/Makefile.in: Same. * src/Makefile.in: Same. * src/c++11/Makefile.in: Same. * src/c++98/Makefile.in: Same. * testsuite/Makefile.in: Same. * src/c++11/compatibility-atomic-c++0x.cc: Use _GLIBCXX_SHARED instead of PIC to designate shared-only code blocks. * src/c++11/compatibility-c++0x.cc: Same. * src/c++11/compatibility-thread-c++0x.cc: Same. * src/c++98/compatibility-list-2.cc: Same. * src/c++98/compatibility.cc: : Same. * testsuite/17_intro/shared_with_static_deps.cc: New. * doc/xml/manual/build_hacking.xml: Separate configure from make/build issues, add build details. From-SVN: r191509
2012-09-17configure.ac: Substitute CPU_OPT_EXT_RANDOM.Ulrich Drepper3-24/+51
* configure.ac: Substitute CPU_OPT_EXT_RANDOM. * configure.host: Define cpu_opt_ext_random to location of the optimized version of <ext/random>. * include/Makefile.am (ext_headers): Add ${ext_host_headers}. (ext_host_headers): Define. * include/ext/random (simd_fast_mersenne_twister_engine<> ::operator==): Don't define function here. * include/ext/random.tcc (simd_fast_mersenne_twister_engine): Don't define code using SSE2 here. Define generic code only if _GLIBCXX_OPT_HAVE_RANDOM_SFMT_GEN_READ is not defined. (simd_fast_mersenne_twister_engine<> ::operator==): Define here if _GLIBCXX_OPT_HAVE_RANDOM_SFMT_OPERATOREQUAL is not defined. * config/cpu/generic/opt/ext/opt_random.h: New file. * config/cpu/i486/opt/ext/opt_random.h: New file. * libsupc++/Makefile.in: Regenerated. * testsuite/Makefile.in: Regenerated. * po/Makefile.in: Regenerated. * configure: Regenerated. * Makefile.in: Regenerated. * doc/Makefile.in: Regenerated. * aclocal.m4: Regenerated. * python/Makefile.in: Regenerated. * include/Makefile.in: Regenerated. * src/c++98/Makefile.in: Regenerated. * src/c++11/Makefile.in: Regenerated. * src/Makefile.in: Regenerated. From-SVN: r191384
2012-09-14Check _GLIBCXX_USE_C99_STDINT_TR1 in random.ccJonathan Wakely1-1/+3
PR libstdc++/54576 * libstdc++-v3/src/c++11/random.cc: Check if _GLIBCXX_USE_C99_STDINT_TR1 is defined. Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com> From-SVN: r191294
2012-09-12Clear hardware capabilities on libstdc++.so with Sun asRainer Orth3-15/+12
* acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Define. * configure.ac: Call GLIBCXX_CHECK_ASSEMBLER_HWCAP. * fragment.am (CONFIG_CXXFLAGS): Add $(HWCAP_FLAGS). * configure: Regenerate. * Makefile.in: Regenerate. * doc/Makefile.in: Regenerate. * include/Makefile.in: Regenerate. * libsupc++/Makefile.in: Regenerate. * po/Makefile.in: Regenerate. * python/Makefile.in: Regenerate. * src/Makefile.in: Regenerate. * src/c++11/Makefile.in: Regenerate. * src/c++98/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. From-SVN: r191218
2012-09-09re PR bootstrap/54419 (Compiling libstdc++-v3/src/c++11/random.cc fails on ↵Ulrich Drepper1-3/+3
platforms not knowing rdrand) 2012-09-09 Ulrich Drepper <drepper@gmail.com> Dominique d'Humieres <dominiq@lps.ens.fr> Jack Howarth <howarth@bromo.med.uc.edu> PR bootstrap/54419 * acinclude.m4: Define GLIBCXX_CHECK_X86_RDRAND. * configure.ac: Use GLIBCXX_CHECK_X86_RDRAND to test for rdrand support in assembler. * src/c++11/random.cc (__x86_rdrand): Depend on _GLIBCXX_X86_RDRAND. (random_device::_M_init): Likewise. (random_device::_M_getval): Likewise. * configure: Regenerated. * config.h.in: Regenerated. Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr> Co-Authored-By: Jack Howarth <howarth@bromo.med.uc.edu> From-SVN: r191111
2012-09-09cpuid.h: Define signature_*_e[bcd]x macros for matching results of level 0 ↵Ulrich Drepper1-1/+1
calls to... gcc/ * config/i386/cpuid.h: Define signature_*_e[bcd]x macros for matching results of level 0 calls to __cpuid to processor manufacturers. * config/i386/driver-i386.c (vendor_signatures): Removed. (processor_signatures): Removed. (host_detect_local_cpu): Replace uses of now-removed SIG_* constants with the new signature_*_ebx constants. libstdc++-v3/ * src/c++11/random.cc (random_device::_M_init): Use new macro signature_INTEL_ebx to check for Intel processors. From-SVN: r191109
2012-09-05random.cc (random_device::_M_init): Check whether cpuid instruction is ↵Ulrich Drepper1-4/+3
available by using __get_cpuid_max. * src/c++11/random.cc (random_device::_M_init): Check whether cpuid instruction is available by using __get_cpuid_max. From-SVN: r190982