Commit Graph

323 Commits

Author SHA1 Message Date
Caroline Tice
2077db1be5 Commit the vtable verification feature.
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-06 20:38:59 -07:00
Paolo Carlini
4e30cb71f9 complex (pow(const complex<>&, int)): Enable in C++11 mode too.
2013-07-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/complex (pow(const complex<>&, int)): Enable in
	C++11 mode too.
	* testsuite/26_numerics/complex/dr844.cc: Adjust.
	* doc/xml/manual/intro.xml: Update.

From-SVN: r201253
2013-07-25 21:24:07 +00:00
Paolo Carlini
484b502a41 re PR libstdc++/57976 (Missing time_get<>::get() functions)
2013-07-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/57976
	* doc/xml/manual/status_cxx2011.xml: Note missing time_get::get and
	time_get::do_get.

From-SVN: r201234
2013-07-25 00:46:46 +00:00
Edward Smith-Rowland
af8bc8f324 Add links to the C++14 librarry implementation status page.
From-SVN: r200748
2013-07-08 02:06:45 +00:00
Veres Lajos
1d77bc548a codecvt_members.cc: Fix typo.
2013-07-04  Veres Lajos  <vlajos@gmail.com>
	    Jonathan Wakely  <jwakely.gcc@gmail.com>

	* config/locale/generic/codecvt_members.cc: Fix typo.
	* configure.host: Likewise.
	* doc/html/manual/policy_data_structures_design.html: Likewise.
	* doc/xml/manual/policy_data_structures.xml: Likewise.
	* include/bits/hashtable.h: Likewise.
	* include/bits/random.h: Likewise.
	* include/profile/impl/profiler_trace.h: Likewise.
	* testsuite/23_containers/deque/cons/2.cc: Likewise.
	* testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
	* testsuite/ext/pb_ds/example/basic_multimap.cc: Likewise.
	* testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>

From-SVN: r200681
2013-07-04 22:07:44 +01:00
François Dumont
41349aec29 hashtable_policy.h (_Insert_base): Consider hint in insert methods.
2013-06-29  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable_policy.h (_Insert_base): Consider hint in
	insert methods.
	* include/bits/hashtable.h: Likewise.
	* testsuite/23_containers/unordered_multimap/insert/hint.cc: New.
	* testsuite/performance/23_containers/insert/unordered_multiset_hint.cc:
	New.
	* testsuite/23_containers/unordered_set/instantiation_neg.cc:
	Adjust dg-error line number.
	* testsuite/23_containers/unordered_set/
	not_default_constructible_hash_neg.cc: Likewise.
	* doc/xml/manual/containers.xml: Document hinting in unordered
	containers.

From-SVN: r200564
2013-06-29 07:55:12 +00:00
Ed Smith-Rowland
3ed8a9cd21 Status page for C++2014 library features
2013-06-25  Ed Smith-Rowland  <3dw4rd@verizon.net>

	Status page for C++2014 library features
	* doc/xml/faq.xml: Add link to new C++14 status page.
	* doc/xml/manual/intro.xml: Ditto.
	* doc/xml/manual/status_cxx2014.xml: New.

From-SVN: r200413
2013-06-26 01:24:25 +00:00
Jonathan Wakely
82ec8686e7 * doc/xml/manual/status_cxx2011.xml: Fix markup error.
From-SVN: r199066
2013-05-18 19:10:01 +01:00
Jonathan Wakely
fcb2185b89 * doc/xml/manual/extensions.xml: Fix anachronism.
From-SVN: r198110
2013-04-20 20:40:28 +01:00
Jonathan Wakely
dca77a8a1b exception (get_terminate(), [...]): Declare.
* libsupc++/exception (get_terminate(), get_unexpected()): Declare.
	* libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()):
	Define.
	(set_terminate(terminate_handler)): Set atomically.
	(set_unexpected(terminate_handler)): Likewise.
	* libsupc++/new (get_new_handler()): Declare.
	* libsupc++/new_handler.cc (get_new_handler()): Define.
	(set_new_handler(new_handler)): Set atomically.
	(__new_handler): Use internal linkage.
	* libsupc++/new_op.cc (operator new): Use get_new_handler().
	* libsupc++/new_opnt.cc (operator new): Likewise.
	* acinclude.m4: Bump libtool_VERSION to 6:19:0.
	* configure: Regenerate.
	* libsupc++/Makefile.am: Compile above files with -std=gnu++11.
	* libsupc++/Makefile.in: Regenerate.
	* config/abi/pre/gnu.ver: Add new exports.
	* doc/xml/manual/status_cxx2011.xml: Update.
	* testsuite/18_support/headers/exception/synopsis.cc: Check accessors
	for handlers.
	* testsuite/18_support/headers/new/synopsis.cc: Likewise.
	* testsuite/18_support/new_handler.cc: New.
	* testsuite/18_support/terminate_handler.cc: New.
	* testsuite/18_support/unexpected_handler.cc: New.

From-SVN: r197380
2013-04-03 01:08:54 +01:00
Jonathan Wakely
fa93ca85d8 appendix_contributing.xml: Remove broken link and defer to general documentation on contributing to GCC.
* doc/xml/manual/appendix_contributing.xml: Remove broken link and
	defer to general documentation on contributing to GCC.
	* doc/html/*: Regenerate.

From-SVN: r197334
2013-04-02 01:09:44 +01:00
Gerald Pfeifer
8bebe0af78 allocator.xml: Adjust link to Dr.Dobb's article.q
* doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.q

	* doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
	Coding Standards.

	* doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.

	* doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.

	* doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.

	* doc/xml/manual/messages.xml: Adjust link to Java API specs.

	* doc/xml/manual/policy_data_structures: Remove direct link to
	IBM Haifa Research Labs.

	* doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
	for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
	Remove direct link to IBM Haifa Research Labs.

	* doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
	papers.

	* doc/xml/manual/shared_ptr.xml: Use canonical address for
	www.boost.org.

From-SVN: r197284
2013-03-31 12:35:20 +00:00
Benjamin Kosnik
10ace8a0cf *: Regenerate.
2013-03-13  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/html/*: Regenerate.

From-SVN: r196647
2013-03-14 03:13:14 +00:00
Benjamin Kosnik
cd1e666505 memoryfwd.h: New.
* include/bits/memoryfwd.h: New. Centralize forward declarations.
	* include/bits/algorithmfwd.h: Consistent comments.
	* include/bits/localefwd.h: Same.
	* include/ext/vstring_fwd.h: Same.
	* include/parallel/algorithmfwd.h: Same.
	* include/parallel/numericfwd.h: Same.
	* include/std/iosfwd: Same.

	* include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
	forward decl.
	* include/ext/alloc_traits.h: Remove allocator forward decl.
	* include/bits/stl_construct.h: Same.
	* include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
	forward decl. Consistent comments.

	* doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.

	* include/Makefile.am (bits_headers): Add memoryfwd.h.
	* include/Makefile.in: Regenerate.
	* configure: Same.

e enter the commit message for your changes. Lines starting

From-SVN: r196559
2013-03-08 21:39:24 +00:00
Jonathan Wakely
2f2b63daf1 faq.html: Fix spelling.
* doc/html/faq.html: Fix spelling.
	* doc/xml/faq.xml: Likewise.
	* include/bits/basic_ios.h: Likewise.
	* include/bits/regex.h: Likewise.
	* include/std/istream: Likewise.
	* include/std/streambuf: Likewise.

From-SVN: r196184
2013-02-20 22:41:51 +00:00
Benjamin Kosnik
c0ffa2badb user.cfg.in: Set __cplusplus to 201103L.
2013-02-19  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
	_GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
	AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
	* include/bits/stl_pair.h: Add to utilities group.
	* include/std/tuple: Same.
	* include/std/typeindex: Same.

	* include/bits/stringfwd.h: Fix markup.
	* include/std/limits: Same.
	* include/std/type_traits: Same.
	* include/tr1/memory: Same.
	* include/tr1/regex: Same.
	* scripts/run_doxygen: Comment.
	* testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.

From-SVN: r196162
2013-02-20 01:52:36 +00:00
Benjamin Kosnik
53b03cce25 *: Regenerate.
2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/html/*: Regenerate.

From-SVN: r195959
2013-02-11 23:24:26 +00:00
François Dumont
adb1c4d1e0 containers.xml: Add section on unordered containers.
2013-02-10  François Dumont  <fdumont@gcc.gnu.org>
	    Jonathan Wakely  <jwakely.gcc@gmail.com>

	* doc/xml/manual/containers.xml: Add section on unordered containers.
	* doc/xml/manual/using.xml: Fix incomplete sentence.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>

From-SVN: r195937
2013-02-11 00:19:41 +00:00
Richard Sandiford
405feeb871 Update copyright in libstdc++-v3.
From-SVN: r195701
2013-02-03 17:54:05 +00:00
Jonathan Wakely
965f0c572f * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
From-SVN: r195036
2013-01-08 21:29:20 +00:00
Jonathan Wakely
1c2620dd6a unordered_map.h: Fix typo in comments.
* include/bits/unordered_map.h: Fix typo in comments.
	* doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
	counts for unordered associative containers.

From-SVN: r194954
2013-01-06 21:58:18 +00:00
Jonathan Wakely
ac43ff42f2 * doc/xml/manual/abi.xml: Update library and symbol versions.
From-SVN: r194950
2013-01-06 21:19:39 +00:00
Jonathan Wakely
898be2f38d abi.xml: Update URLs for C++ ABI.
* doc/xml/manual/abi.xml: Update URLs for C++ ABI.
	* doc/xml/manual/policy_data_structures_biblio.xml: Add xmlns
	attribute.
	* doc/xml/manual/debug_mode.xml: Give filenames to chunks.
	* doc/xml/manual/diagnostics.xml: Likewise.
	* doc/xml/manual/extensions.xml: Likewise.
	* doc/xml/manual/bitmap_allocator.xml: Likewise.
	* doc/xml/manual/mt_allocator.xml: Likewise.
	* doc/xml/manual/policy_data_structures.xml: Likewise.
	* doc/xml/manual/parallel_mode.xml: Likewise.
	* doc/xml/manual/profile_mode.xml: Likewise.
	* doc/xml/manual/spine.xml: Likewise. Update copyright years.
	* doc/html/*: Regenerate.

From-SVN: r194576
2012-12-18 11:08:33 +00:00
Benjamin Kosnik
f52f03c86c documentation_hacking.xml: Fix validation issue.
2012-12-12  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/manual/documentation_hacking.xml: Fix validation issue.

From-SVN: r194455
2012-12-12 22:15:30 +00:00
Benjamin Kosnik
74080cba9b Makefile.am (xml_sources_manual): Add policy_data_structures_biblio.xml.
2012-12-10  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/Makefile.am (xml_sources_manual): Add
	policy_data_structures_biblio.xml.
	(${docbook_outdir}/latex): Add.
	(doc-xml-validate-docbook): Split into..
	(doc-xml-validate-dtd-db):... this for DTD.
	(doc-xml-validate-rng-db):... this for Relax NG.
	(doc-pdf-docbook-dirs): Add.
	(doc-pdf-docbook-pre): Add.
	* doc/xml/manual/build_hacking.xml: Add literal markup.
	* doc/xml/manual/documentation_hacking.xml: Clean whitespace in
	<filename> markup. Add notes about debugging the generation process.
	* doc/xml/manual/policy_data_structures.xml: Split biblio into...
	* doc/xml/manual/policy_data_structures_biblio.xml: ... this. New.
	* doc/xml/manual/test_policy_data_structures.xml: Fixup <filename>
	markup.

From-SVN: r194379
2012-12-11 01:52:14 +00:00
Matthias Klose
3263c9a3a7 2012-11-20 Matthias Klose <doko@ubuntu.com>
* doc/doxygen/user.cfg.in (ALIASES). Escape sharp braces.
        * include/bits/allocator.h: Escape sharp braces in comment.
        * include/profile/impl/profiler_algos.h: Likewise.

From-SVN: r193662
2012-11-20 13:48:28 +00:00
Jonathan Wakely
1b5dc776ca stl_algo.h (reverse_copy): Update comment per DR 2074.
* include/bits/stl_algo.h (reverse_copy): Update comment per DR 2074.
	* include/bits/unordered_map.h: Apply DR 2005 resolution.
	* doc/xml/manual/status_cxx2011.xml: Update per DR 2048.
	* include/bits/allocator.h (allocator): Apply DR 2103 resolution.
	* include/ext/array_allocator.h: Likewise.
	* include/ext/bitmap_allocator.h: Likewise.
	* include/ext/malloc_allocator.h: Likewise.
	* include/ext/mt_allocator.h: Likewise.
	* include/ext/new_allocator.h: Likewise.
	* include/ext/pool_allocator.h: Likewise.
	* include/ext/throw_allocator.h: Likewise.
	* include/ext/alloc_traits.h (__allocator_always_compares_equal): Add
	additional specializations.
	* include/std/functional: Add comment about DR resolution.
	* include/std/future: Likewise.
	* include/std/scoped_allocator: Likewise.
	* include/std/thread: Likewise.
	* testsuite/20_util/allocator/requirements/typedefs.cc: New.
	* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.

From-SVN: r193638
2012-11-19 22:28:00 +00:00
Andreas Schwab
92eba4000d chapter.txml: Remove whitespace inside <keyword>.
* doc/xml/chapter.txml: Remove whitespace inside <keyword>.
* doc/xml/class.txml: Likewise.
* doc/xml/manual/abi.xml: Likewise.
* doc/xml/manual/algorithms.xml: Likewise.
* doc/xml/manual/allocator.xml: Likewise.
* doc/xml/manual/appendix_contributing.xml: Likewise.
* doc/xml/manual/appendix_free.xml: Likewise.
* doc/xml/manual/appendix_porting.xml: Likewise.
* doc/xml/manual/atomics.xml: Likewise.
* doc/xml/manual/auto_ptr.xml: Likewise.
* doc/xml/manual/backwards_compatibility.xml: Likewise.
* doc/xml/manual/bitmap_allocator.xml: Likewise.
* doc/xml/manual/build_hacking.xml: Likewise.
* doc/xml/manual/codecvt.xml: Likewise.
* doc/xml/manual/concurrency.xml: Likewise.
* doc/xml/manual/concurrency_extensions.xml: Likewise.
* doc/xml/manual/configure.xml: Likewise.
* doc/xml/manual/containers.xml: Likewise.
* doc/xml/manual/ctype.xml: Likewise.
* doc/xml/manual/debug.xml: Likewise.
* doc/xml/manual/debug_mode.xml: Likewise.
* doc/xml/manual/diagnostics.xml: Likewise.
* doc/xml/manual/extensions.xml: Likewise.
* doc/xml/manual/internals.xml: Likewise.
* doc/xml/manual/intro.xml: Likewise.
* doc/xml/manual/io.xml: Likewise.
* doc/xml/manual/iterators.xml: Likewise.
* doc/xml/manual/locale.xml: Likewise.
* doc/xml/manual/localization.xml: Likewise.
* doc/xml/manual/messages.xml: Likewise.
* doc/xml/manual/mt_allocator.xml: Likewise.
* doc/xml/manual/numerics.xml: Likewise.
* doc/xml/manual/parallel_mode.xml: Likewise.
* doc/xml/manual/policy_data_structures.xml: Likewise.
* doc/xml/manual/prerequisites.xml: Likewise.
* doc/xml/manual/profile_mode.xml: Likewise.
* doc/xml/manual/shared_ptr.xml: Likewise.
* doc/xml/manual/status_cxx1998.xml: Likewise.
* doc/xml/manual/status_cxx2011.xml: Likewise.
* doc/xml/manual/status_cxxtr1.xml: Likewise.
* doc/xml/manual/status_cxxtr24733.xml: Likewise.
* doc/xml/manual/strings.xml: Likewise.
* doc/xml/manual/support.xml: Likewise.
* doc/xml/manual/test.xml: Likewise.
* doc/xml/manual/using_exceptions.xml: Likewise.
* doc/xml/manual/utilities.xml: Likewise.
* doc/xml/spine.xml: Likewise.

From-SVN: r193414
2012-11-11 21:17:43 +00:00
Gerald Pfeifer
6e7e4ca2e8 policy_data_structures.xml: Update reference for select.
* doc/xml/manual/policy_data_structures.xml: Update reference
	for select.

From-SVN: r193405
2012-11-11 09:57:14 +00:00
Jason Merrill
734f50238f * many: Replace uses of __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.
From-SVN: r193392
2012-11-10 12:27:22 -05:00
Jonathan Wakely
41ee74878a * doc/html/*: Regenerate.
From-SVN: r193116
2012-11-03 00:22:18 +00:00
Gerald Pfeifer
1a34066e2e configure.xml: Adjust GNU libc link.
* doc/xml/manual/configure.xml: Adjust GNU libc link.

	* doc/xml/manual/debug.xml: Adjust GDB documentation link.
	Use GCC instead of gcc.

	* doc/xml/manual/prerequisites.xml: Remove detailed reference
	to binutils downloads.

From-SVN: r193109
2012-11-02 21:59:43 +00:00
Gerald Pfeifer
e570b479ae allocator.xml: Update reference to Hoard.
* doc/xml/manual/allocator.xml: Update reference to Hoard.
	Update reference to Berger's OOPSLA 2002 paper.

From-SVN: r193091
2012-11-02 08:57:18 +00:00
Gerald Pfeifer
7ce3b11540 codecvt.xml: Fix reference to Austin Common Standards Revision Group.
* doc/xml/manual/codecvt.xml: Fix reference to Austin Common
	Standards Revision Group.
	* doc/xml/manual/messages.xml: Ditto.
	* doc/xml/manual/using_exceptions.xml: Ditto.

	* doc/xml/manual/messages.xml: Fix reference to GNU gettext.

	* doc/xml/manual/policy_data_structures.xml: Fix reference to
	STL at SGI.
	Update reference to COM at Microsoft.
	Update reference to Worst-case efficient priority queues at ACM.

From-SVN: r193084
2012-11-02 00:25:46 +00:00
Yufeng Zhang
e3b0260052 configure.xml (--enable-clocale): Document the 'newlib' and 'darwin' options.
2012-10-22  Yufeng Zhang  <yufeng.zhang@arm.com>
	    Jonathan Wakely  <jwakely.gcc@gmail.com>

	* doc/xml/manual/configure.xml (--enable-clocale): Document the
	'newlib' and 'darwin' options. Minor stylistic improvements.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>

From-SVN: r192661
2012-10-22 00:42:17 +01:00
Jonathan Wakely
db2415a9a1 * doc/xml/manual/status_cxx2011.xml: Update.
From-SVN: r192616
2012-10-19 17:53:32 +01:00
Jonathan Wakely
644b2e4c0d scoped_allocator (__outermost_alloc_traits): Define.
* include/std/scoped_allocator (__outermost_alloc_traits): Define.
	(scoped_allocator_adaptor::destroy): Use it.
	(scoped_allocator_adaptor::construct): Likewise. Overload for
	piecewise construction of std::pair objects.
	* testsuite/20_util/scoped_allocator/2.cc: New.
	* doc/xml/manual/status_cxx2011.xml: Update.

From-SVN: r192613
2012-10-19 17:16:11 +01:00
Jonathan Wakely
7aad1ae2b2 forward_list.h: Add C++11 allocator support.
* include/bits/forward_list.h: Add C++11 allocator support.
	* include/bits/forward_list.tcc: Likewise.
	* doc/xml/manual/status_cxx2011.xml: Update.
	* testsuite/23_containers/forward_list/allocator/copy.cc: New.
	* testsuite/23_containers/forward_list/allocator/copy_assign.cc: New.
	* testsuite/23_containers/forward_list/allocator/minimal.cc: New.
	* testsuite/23_containers/forward_list/allocator/move_assign.cc: New.
	* testsuite/23_containers/forward_list/allocator/noexcept.cc: New.
	* testsuite/23_containers/forward_list/allocator/swap.cc: New.

From-SVN: r192588
2012-10-18 22:06:21 +01:00
Pavel Chupin
1183dc2cd8 gthr.m4: New.
* 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-15 13:10:30 +00:00
Kirill Yukhin
3b06f98418 Revert r192297.
From-SVN: r192394
2012-10-12 10:57:06 +00:00
Pavel Chupin
e80f7f1767 Fix missing gthr-default.h issue on separate libstdc++ configure
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-10-10 10:02:44 +00:00
Benjamin Kosnik
321168c3e6 user.cfg.in: Update to doxygen 1.8.2.
2012-09-30  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in: Update to doxygen 1.8.2.

From-SVN: r191876
2012-09-30 17:56:49 +00:00
Jonathan Wakely
e8031ec516 re PR libstdc++/54577 (deque<T>::erase() still takes iterator instead of const_iterator)
PR libstdc++/54577
	* doc/xml/manual/status_cxx2011.xml: N2350 changes are missing from
	sequence containers.
	* doc/html/*: Regenerate.

From-SVN: r191866
2012-09-30 12:40:06 +01:00
Benjamin Kosnik
b1d6986c94 fragment.am (CONFIG_CXXFLAGS): Remove EXTRA_CXX_FLAGS.
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-29 04:08:17 +00:00
Benjamin Kosnik
495de4f4cb acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Remove ENABLE_PARALLEL.
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-28 19:48:27 +00:00
Ulrich Drepper
48c7b524c1 Optimize bulk mode for normal_distribution<double> for SSE3.
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-26 13:10:26 +00:00
Paolo Carlini
222b68463b re PR libstdc++/44436 ([C++0x] Implement emplace* in associative containers)
2012-09-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* doc/xml/manual/status_cxx2011.xml: Update vs PR 44436.

From-SVN: r191695
2012-09-25 08:43:38 +00:00
Benjamin Kosnik
ac6d1200be re PR libstdc++/28811 (--with-pic vs static libraries and libstdc++)
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-20 02:10:22 +00:00
Ulrich Drepper
9bf714c23f configure.ac: Substitute CPU_OPT_EXT_RANDOM.
* 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-17 13:02:39 +00:00
Rainer Orth
9520425b6b Clear hardware capabilities on libstdc++.so with Sun as
* 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-12 12:38:15 +00:00