DJ Delorie
78a7c3172f
machmode.h (int_n_data_t): New.
...
* machmode.h (int_n_data_t): New.
(int_n_enabled_p): New.
(int_n_data): New.
* tree.c (int_n_enabled_p): New.
(int_n_trees): New.
(make_or_reuse_type): Check for all __intN types, not just
__int128.
(build_common_tree_nodes): Likewise. Also fill in integer_typs[]
entries.
* tree.h (int128_integer_type_node): Remove.
(int128_unsigned_type_node): Remove.
(int_n_trees_t): New.
(int_n_enabled_p): New.
(int_n_trees): New.
* toplev.c (standard_type_bitsize): New.
(do_compile): Check which __intN types are enabled for the current
run.
* builtin-types.def (BT_INT128): Remove.
(BT_UINT128): Remove.
* machmode.def: Add macro to create __int128 for all targets.
* stor-layout.c (mode_for_size): Support __intN types.
(smallest_mode_for_size): Likewise.
(initialize_sizetypes): Support __intN types.
* genmodes.c (struct mode_data): Add int_n field.
(blank_mode): Likewise.
(INT_N): New.
(make_int_n): New.
(emit_insn_modes_h): Count __intN entries and define
NUM_INT_N_ENTS.
(emit_mode_int_n): New.
(emit_insn_modes_c): Call it.
* gimple.c (gimple_signed_or_unsigned_type): Check for all __intN
types, not just __int128.
* tree-core.h (integer_type_kind): Remove __int128-specific
entries, reserve spots for __intN entries.
libstdc++-v3/
* src/c++11/limits.cc: Add support for __intN types.
* include/std/type_traits: Likewise.
* include/std/limits: Likewise.
* include/c_std/cstdlib: Likewise.
* include/bits/cpp_type_traits.h: Likewise.
* include/c_global/cstdlib: Likewise.
c-family/
* c-pretty-print.c (pp_c_integer_constant): Check for all __intN
types, not just __int128.
* c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
types, not just __int128.
(cpp_atomic_builtins): Round pointer sizes up.
(type_suffix): Use type precision, not specific types.
* c-common.c (c_common_reswords): Remove __int128 special case.
(c_common_type_for_size): Check for all __intN types, not just
__int128.
(c_common_type_for_mode): Likewise.
(c_common_signed_or_unsigned_type): Likewise.
(c_build_bitfield_integer_type): Likewise.
(c_common_nodes_and_builtins): Likewise.
(keyword_begins_type_specifier): Likewise.
* c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
__intN variants.
c/
* c-parser.c (c_parse_init): Add RID entries for each __intN.
(c_token_starts_typename): Check all __intN, not just __int128.
(c_token_starts_declspecs): Likewise.
(c_parser_declspecs): Likewise.
(c_parser_attribute_any_word): Likewise.
(c_parser_objc_selector): Likewise.
* c-tree.h (c_typespec_keyword): cts_int128 -> cts_int_n.
(struct c_declspecs): Add int_n_idx field to record *which* __intN
is specified.
* c-decl.c (declspecs_add_type): Check for all __intN, not just
__int128.
(finish_declspecs): Likewise.
testsuite/
* g++.dg/abi/mangle64.C: New.
cp/
* typeck.c (cp_common_type): Check for all __intN types, not just
__int128.
* decl.c (grokdeclarator): Likewise.
* rtti.c (emit_support_tinfos): Check for all __intN types, not just
__int128.
* parser.c (cp_lexer_next_token_is_decl_specifier_keyword): Check
for all __intN types, not just __int128.
(cp_parser_simple_type_specifier): Likewise.
* mangle.c (integer_type_codes): Remove int128-specific codes.
* cp-tree.h (cp_decl_specifier_seq): Add int_n_idx to store which
__intN was specified.
* lex.c (init_reswords): Reserve all __intN keywords.
lto/
* lto-lang.c (lto_build_c_type_nodes): Check intN types for
size-type as well.
(lto_init): Initialize all intN types, not just int128.
From-SVN: r216220
2014-10-14 15:44:36 -04:00
Jonathan Wakely
9570791897
intro.xml: Update.
...
* doc/xml/manual/intro.xml: Update.
* doc/xml/manual/status_cxx2011.xml: Update.
* doc/html/manual/*: Regenerate.
From-SVN: r216215
2014-10-14 18:24:38 +01:00
Jonathan Wakely
facb4d1b3e
1.cc: Add dg-require-stdint.
...
* testsuite/20_util/align/1.cc: Add dg-require-stdint.
* testsuite/20_util/align/2.cc: Likewise.
From-SVN: r216214
2014-10-14 18:14:07 +01:00
Rüdiger Sonderfeld
ffffc732ef
re PR libstdc++/54354 (TODO extended iomanip manipulators std::get_time and std::put_time (C++11, section 27.7.5))
...
2014-10-14 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
PR libstdc++/54354
* include/std/iomanip (_Put_time): New struct.
(put_time): New manipulator.
(operator<<): New overloaded function.
* testsuite/27_io/manipulators/extended/put_time/char/1.cc: New.
* testsuite/27_io/manipulators/extended/put_time/char/2.cc: New.
* testsuite/27_io/manipulators/extended/put_time/wchar_t/1.cc: New.
* testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: New.
From-SVN: r216211
2014-10-14 18:01:25 +01:00
Kai Tietz
78bd42c423
re PR libstdc++/57440 (Memory usage with future and std containers)
...
2014-10-14 Kai Tietz <ktietz@redhat.com>
PR libstdc++/57440
* config/os/mingw32/os_defines.h (_GTHREAD_USE_MUTEX_INIT_FUNC):
Define to avoid leak.
* config/os/mingw32-w64/os_defines.h: Likewise.
From-SVN: r216210
2014-10-14 18:58:37 +02:00
Paolo Carlini
181e036880
typedefs.cc: Rename to alias_decl.cc.
...
2014-10-14 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/20_util/add_lvalue_reference/requirements/typedefs.cc:
Rename to alias_decl.cc.
* testsuite/20_util/add_rvalue_reference/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/common_type/requirements/typedefs-3.cc: Likewise.
* testsuite/20_util/conditional/requirements/typedefs-2.cc: Likewise.
* testsuite/20_util/decay/requirements/typedefs-2.cc: Likewise.
* testsuite/20_util/enable_if/requirements/typedefs-2.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs-3.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs-3.cc:
Likewise.
* testsuite/20_util/remove_reference/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/result_of/requirements/typedefs.cc: Likewise.
* testsuite/20_util/underlying_type/requirements/typedefs-3.cc:
Likewise.
From-SVN: r216188
2014-10-14 08:45:38 +00:00
Jonathan Wakely
01d6452fe5
re PR libstdc++/57350 (std::align missing)
...
PR libstdc++/57350
* include/std/memory (align): Do not adjust correctly aligned address.
* testsuite/20_util/align/2.cc: New.
From-SVN: r216149
2014-10-13 15:08:44 +01:00
Siva Chandra Reddy
4027b0158d
xmethods.py: Add xmethods for std::array, std::deque, std::forward_list, std::list, std::vector.
...
2014-10-13 Siva Chandra Reddy <sivachandra@google.com>
* python/libstdcxx/v6/xmethods.py: Add xmethods for std::array,
std::deque, std::forward_list, std::list, std::vector.
* testsuite/libstdc++-xmethods/array.cc: New file.
* testsuite/libstdc++-xmethods/deque.cc: Likewise.
* testsuite/libstdc++-xmethods/forwardlist.cc: Likewise.
* testsuite/libstdc++-xmethods/list.cc: Likewise.
* testsuite/libstdc++-xmethods/vector.cc: Add tests.
From-SVN: r216145
2014-10-13 12:23:10 +01:00
Rüdiger Sonderfeld
2f6ca9d317
memory (align): Define.
...
2014-10-13 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
* include/std/memory (align): Define.
* testsuite/20_util/align/1.cc: New.
From-SVN: r216143
2014-10-13 11:05:21 +01:00
Marc Glisse
2a52738350
re PR libstdc++/61347 (std::distance(list.first(),list.end()) in O(1))
...
2014-10-13 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/61347
PR libstdc++/63345
* include/bits/list.tcc (_List_base::_M_clear()): Delay cast so it
isn't done for the sentinel.
* include/bits/stl_list.h (_List_base::_M_size): Move...
(_List_base::_List_impl::_M_node): ... here.
(_List_base::_M_get_size(), _List_base::_M_set_size(size_t),
_List_base::_M_inc_size(size_t), _List_base::_M_dec_size(size_t),
_List_base::_M_node_count): Adapt to the move.
* 23_containers/list/requirements/dr438/assign_neg.cc: Update
line number.
* 23_containers/list/requirements/dr438/constructor_1_neg.cc: Likewise.
* 23_containers/list/requirements/dr438/constructor_2_neg.cc: Likewise.
* 23_containers/list/requirements/dr438/insert_neg.cc: Likewise.
From-SVN: r216142
2014-10-13 10:00:27 +00:00
Jonathan Wakely
c95e71bef8
* testsuite/Makefile.in: Regenerate.
...
From-SVN: r216098
2014-10-10 17:14:59 +01:00
Jonathan Wakely
a2e70f503d
re PR libstdc++/49561 ([C++0x] std::list::size complexity)
...
PR libstdc++/49561
* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI): Define.
* configure.ac: Use GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI.
* configure: Regenerate.
* include/Makefile.am (stamp-cxx11-abi): New target.
(c++config.h): Set _GLIBCXX_USE_CXX11_ABI macro.
* include/Makefile.in: Regenerate.
* include/bits/c++config: Add _GLIBCXX_USE_CXX11_ABI placeholder and
define _GLIBCXX_DEFAULT_ABI_TAG.
* include/bits/list.tcc (list::emplace(const_iterator, _Args&...)):
Increment size.
(list::emplace(const_iterator, const value_type&)): Likewise.
(list::merge(list&), list::merge(list&, _StrictWeakOrdering)): Adjust
list sizes.
* include/bits/stl_list.h (_List_base, list): Add ABI tag macro.
(_List_base::_M_size): New data member in cxx11 ABI mode.
(_List_base::_S_distance(_List_node_base*, _List_node_base*)): New
function.
(_List_base::_M_get_size(), _List_base::_M_set_size(size_t),
_List_base::_M_inc_size(size_t), _List_base::_M_dec_size(size_t),
_List_base::_M_distance, _List_base::_M_node_count): New functions for
accessing list size correctly for the ABI mode.
(_List_base::_List_base(_List_base&&)): Copy size and reset source.
(_List_base::_M_init()): Initialize size member.
(list::size()): Use _List_base::_M_node_count.
(list::swap(list&)): Swap sizes.
(list::splice(iterator, list&)): Update sizes.
(list::splice(iterator, list&, iterator)): Likewise.
(list::insert(iterator, const value_type&)): Update size.
(list::insert(iterator, _Args&&...)): Likewise.
(list::_M_erase(iterator)): Likewise.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Adjust.
* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
Adjust.
* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
Adjust.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Adjust.
* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust.
# End of auto-generated commit message
Fix date and whitespace in libstdc++-v3/ChangeLog
From-SVN: r216097
2014-10-10 17:14:52 +01:00
Jonathan Wakely
375f837be1
re PR libstdc++/49561 ([C++0x] std::list::size complexity)
...
PR libstdc++/49561
* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI): Define.
* configure.ac: Use GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI.
* configure: Regenerate.
* include/Makefile.am (stamp-cxx11-abi): New target.
(c++config.h): Set _GLIBCXX_USE_CXX11_ABI macro.
* include/Makefile.in: Regenerate.
* include/bits/c++config: Add _GLIBCXX_USE_CXX11_ABI placeholder and
define _GLIBCXX_DEFAULT_ABI_TAG.
* include/bits/list.tcc (list::emplace(const_iterator, _Args&...)):
Increment size.
(list::emplace(const_iterator, const value_type&)): Likewise.
(list::merge(list&), list::merge(list&, _StrictWeakOrdering)): Adjust
list sizes.
* include/bits/stl_list.h (_List_base, list): Add ABI tag macro.
(_List_base::_M_size): New data member in cxx11 ABI mode.
(_List_base::_S_distance(_List_node_base*, _List_node_base*)): New
function.
(_List_base::_M_get_size(), _List_base::_M_set_size(size_t),
_List_base::_M_inc_size(size_t), _List_base::_M_dec_size(size_t),
_List_base::_M_distance, _List_base::_M_node_count): New functions for
accessing list size correctly for the ABI mode.
(_List_base::_List_base(_List_base&&)): Copy size and reset source.
(_List_base::_M_init()): Initialize size member.
(list::size()): Use _List_base::_M_node_count.
(list::swap(list&)): Swap sizes.
(list::splice(iterator, list&)): Update sizes.
(list::splice(iterator, list&, iterator)): Likewise.
(list::insert(iterator, const value_type&)): Update size.
(list::insert(iterator, _Args&&...)): Likewise.
(list::_M_erase(iterator)): Likewise.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Adjust.
* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
Adjust.
* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
Adjust.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Adjust.
* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust.
From-SVN: r216094
2014-10-10 16:33:57 +01:00
Jonathan Wakely
c386686921
re PR libstdc++/61909 (Small function optimization not applied to small objects)
...
PR libstdc++/61909
* include/std/functional (__is_location_invariant): Treat all
trivially copyable types as location invariant.
From-SVN: r216047
2014-10-09 19:17:28 +01:00
Jonathan Wakely
bc2da0fc04
re PR libstdc++/63322 (std::atomic<T> where T is not trivially copyable should be disabled.)
...
PR libstdc++/63322
* include/std/atomic (atomic): Add assertion for trivially copyable.
* testsuite/29_atomics/atomic/60695.cc: Adjust line number.
From-SVN: r216046
2014-10-09 19:17:23 +01:00
Jonathan Wakely
75c3de1e76
status_cxx2011.xml: Update.
...
* doc/xml/manual/status_cxx2011.xml: Update.
* doc/html/manual/status.html: Regenerate.
From-SVN: r216045
2014-10-09 19:17:07 +01:00
Ville Voutilainen
f5e523b76d
re PR libstdc++/60132 (C++11: lack of is_trivially_copy_constructible)
...
2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
PR libstdc++/60132
* include/std/type_traits (is_trivially_copyable,
is_trivially_constructible, is_trivially_default_constructible,
is_trivially_copy_constructible, is_trivially_move_constructible,
is_trivially_assignable, is_trivially_copy_assignable,
is_trivially_move_assignable): New.
* testsuite/20_util/is_trivially_assignable/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_trivially_assignable/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_trivially_assignable/value.cc: Likewise.
* testsuite/20_util/is_trivially_constructible/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_trivially_constructible/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_trivially_constructible/value.cc: Likewise.
* testsuite/20_util/is_trivially_copyable/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_trivially_copyable/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_trivially_copyable/value.cc: Likewise.
* testsuite/20_util/is_trivially_copy_assignable/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_trivially_copy_assignable/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_trivially_copy_assignable/value.cc: Likewise.
* testsuite/20_util/is_trivially_copy_constructible/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_trivially_copy_constructible/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_trivially_copy_constructible/value.cc: Likewise.
* testsuite/20_util/is_trivially_default_constructible/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_trivially_default_constructible/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_trivially_default_constructible/
value.cc: Likewise.
* testsuite/20_util/is_trivially_move_assignable/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_trivially_move_assignable/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_trivially_move_assignable/value.cc: Likewise.
* testsuite/20_util/is_trivially_move_constructible/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_trivially_move_constructible/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_trivially_move_constructible/value.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line number.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
From-SVN: r216032
2014-10-09 08:37:26 +00:00
Jonathan Wakely
9d07d890e6
locale_facets.tcc (num_put::_M_insert_float): Do not pass precision when using hexfloat format.
...
* include/bits/locale_facets.tcc (num_put::_M_insert_float): Do not
pass precision when using hexfloat format.
* src/c++98/locale_facets.cc (__num_base::_S_format_float): Always
output precision if C99 hexfloat conversion specifiers not available.
From-SVN: r216001
2014-10-08 14:25:30 +01:00
Jonathan Wakely
7dd9b46d29
regex.h (regex_token_iterator::_M_end_of_seq): Add const qualifier.
...
* include/bits/regex.h (regex_token_iterator::_M_end_of_seq): Add
const qualifier.
From-SVN: r215995
2014-10-08 09:49:22 +01:00
François Dumont
43ee3d5f44
testsuite_counter_type.h (counter_type::operator<(const counter_type&)): Update less_compare_count.
...
2014-10-07 François Dumont <fdumont@gcc.gnu.org>
* testsuite/util/testsuite_counter_type.h
(counter_type::operator<(const counter_type&)): Update
less_compare_count.
* testsuite/25_algorithms/make_heap/complexity.cc: New.
* testsuite/25_algorithms/pop_heap/complexity.cc: New.
* testsuite/25_algorithms/push_heap/complexity.cc: New.
* testsuite/25_algorithms/sort_heap/complexity.cc: New.
From-SVN: r215985
2014-10-07 21:26:55 +00:00
Rüdiger Sonderfeld
c4b64f5bca
re PR libstdc++/59987 ([C++11]: Missing ios_base::hexfloat format specifier)
...
2014-10-06 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/59987
* doc/xml/manual/status_cxx2011.xml: Remove hexfloat from notes.
* doc/html/manual/status.html: Regenerate.
* include/bits/ios_base.h (hexfloat): New function.
(defaultfloat): New function.
* src/c++98/locale_facets.cc (__num_base::_S_format_float): Support
hexadecimal floating point format.
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
New file.
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r215952
2014-10-06 16:55:53 +01:00
Jonathan Wakely
22274fac01
Makefile.am: Add new header.
...
* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* include/experimental/tuple: New
* doc/xml/manual/status_cxx2014.xml: Update.
* doc/html/manual/status.html: Regenerate.
* testsuite/experimental/feat-lib-fund.cc: Test for new header.
* testsuite/experimental/tuple/apply.cc: New.
From-SVN: r215930
2014-10-06 13:26:45 +01:00
François Dumont
e6fb44d878
re PR libstdc++/63456 (unordered_map incorrectly frees _M_single_bucket. Patch Included)
...
2014-10-05 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/63456
* include/bits/hashtable.h (_M_uses_single_bucket(__bucket_type*)): Test
the parameter.
* testsuite/23_containers/unordered_set/63456.cc: New.
From-SVN: r215905
2014-10-05 18:44:46 +00:00
Jonathan Wakely
9793232966
re PR libstdc++/63449 (documentation of vector space overhead management)
...
PR libstdc++/63449
* doc/xml/manual/containers.xml: Remove outdated section.
* doc/html/*: Regenerate.
From-SVN: r215849
2014-10-03 14:36:57 +01:00
Jonathan Wakely
d17f7d8a9d
ctgmath: Include <complex>.
...
* include/c_global/ctgmath: Include <complex>.
* testsuite/26_numerics/headers/ctgmath/complex.cc: New.
* doc/xml/manual/status_cxx2011.xml: Update.
* doc/html/manual/status.html: Regenerate.
From-SVN: r215803
2014-10-02 16:52:24 +01:00
Edward Smith-Rowland
f65eb9e641
stl_function.h: Generic associative lookup feature is not supported.
...
2014-10-02 Edward Smith-Rowland <3dw4rd@verizon.net>
* include/bits/stl_function.h: Generic associative lookup feature
is not supported.
* testsuite/experimental/feat-lib-fund.cc: <experimental/any> is
actually available.
* testsuite/experimental/feat-cxx14.cc: Add test for __cpp_lib_is_final.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
* testsuite/20_util/duration/literals/range.cc: Adjust.
* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Adjust.
From-SVN: r215801
2014-10-02 12:38:41 +00:00
François Dumont
4681f59563
printers.py (StdDebugIteratorPrinter.to_string): Adapt to latest modifications on debug iterators.
...
2014-10-01 François Dumont <fdumont@gcc.gnu.org>
* python/libstdcxx/v6/printers.py (StdDebugIteratorPrinter.to_string):
Adapt to latest modifications on debug iterators.
From-SVN: r215775
2014-10-01 19:24:23 +00:00
Edward Smith-Rowland
4db7fcb9a8
type_traits: Add is_final<> type trait for C++14.
...
2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
* include/std/type_traits: Add is_final<> type trait for C++14.
* testsuite/util/testsuite_tr1.h: Add
* testsuite/20_util/is_final/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/is_final/requirements/typedefs.cc: New.
* testsuite/20_util/is_final/value.cc: New.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
From-SVN: r215753
2014-10-01 11:59:29 +00:00
Edward Smith-Rowland
a15f7cb8b8
Implement SD-6: SG10 Feature Test Recommendations
...
2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
Implement SD-6: SG10 Feature Test Recommendations
* internal.h (lexer_state, spec_nodes): Add in__has_include__.
* directives.c: Support __has_include__ builtin.
* expr.c (parse_has_include): New function to parse __has_include__
builtin; (eval_token()): Use it.
* files.c (_cpp_has_header()): New funtion to look for header;
(open_file_failed()): Not an error to not find a header file for
__has_include__.
* identifiers.c (_cpp_init_hashtable()): Add entry for __has_include__.
* pch.c (cpp_read_state): Lookup __has_include__.
* traditional.c (enum ls, _cpp_scan_out_logical_line()): Walk through
__has_include__ statements.
2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
Implement SD-6: SG10 Feature Test Recommendations
* c-cppbuiltin.c (c_cpp_builtins()): Define language feature
macros and the __has_header macro.
2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
Implement SD-6: SG10 Feature Test Recommendations
* include/bits/basic_string.h: Add __cpp_lib feature test macro.
* include/bits/stl_algobase.h: Ditto.
* include/bits/stl_function.h: Ditto.
* include/bits/unique_ptr.h: Ditto.
* include/std/chrono: Ditto.
* include/std/complex: Ditto.
* include/std/iomanip: Ditto.
* include/std/shared_mutex: Ditto.
* include/std/tuple: Ditto.
* include/std/type_traits: Ditto.
* include/std/utility: Ditto.
* testsuite/experimental/feat-cxx14.cc: New.
* testsuite/experimental/feat-lib-fund.cc: New.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
* testsuite/20_util/duration/literals/range.cc: Adjust.
* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Adjust.
2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
Implement SD-6: SG10 Feature Test Recommendations
* g++.dg/cpp1y/feat-cxx11-neg.C: New.
* g++.dg/cpp1y/feat-cxx11.C: New.
* g++.dg/cpp1y/feat-cxx14.C: New.
* g++.dg/cpp1y/feat-cxx98.C: New.
* g++.dg/cpp1y/feat-cxx98-neg.C: New.
* g++.dg/cpp1y/phoobhar.h: New.
* g++.dg/cpp1y/testinc/phoobhar.h: New.
From-SVN: r215752
2014-10-01 11:49:23 +00:00
Siva Chandra Reddy
b073d15fe5
hook.in: Only import libstdcxx.v6.
...
2014-09-30 Siva Chandra Reddy <sivachandra@google.com>
* python/hook.in: Only import libstdcxx.v6.
* python/libstdcxx/v6/__init__.py: Load printers and xmethods.
From-SVN: r215726
2014-09-30 16:33:27 +01:00
Jonathan Wakely
24f21354f8
status_cxx2011.xml: Update.
...
* doc/xml/manual/status_cxx2011.xml: Update.
* doc/html/manual/status.html: Regenerate.
From-SVN: r215710
2014-09-30 10:24:53 +01:00
Andreas Schwab
ff5fdf6746
baseline_symbols.txt: New file.
...
* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: New
file.
From-SVN: r215696
2014-09-29 22:35:22 +00:00
Andreas Schwab
2529c937df
configure.host (abi_baseline_pair): If try_cpu is generic use host_cpu for the default.
...
* configure.host (abi_baseline_pair): If try_cpu is generic use
host_cpu for the default.
From-SVN: r215695
2014-09-29 22:33:41 +00:00
François Dumont
ebd4c354b3
re PR libstdc++/62313 (Data race in debug iterators)
...
2014-09-29 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/62313
* include/debug/safe_base.h
(_Safe_iterator_base(const _Safe_iterator_base&)): Delete declaration.
(_Safe_iterator_base& operator=(const _Safe_iterator_base&)): Likewise.
* include/debug/safe_iterator.h (_Safe_iterator<>): Move normal iterator
before _Safe_iterator_base in memory. Lock before modifying the iterator
in numerous places.
* include/debug/safe_local_iterator.h
(_Safe_local_iterator_base(const _Safe_local_iterator_base&)): Delete
declaration.
(_Safe_local_iterator_base& operator=(const _Safe_local_iterator_base&)):
Likewise.
* include/debug/safe_unordered_base.h (_Safe_local_iterator<>): Move
normal iterator before _Safe_iterator_base in memory. Lock before
modifying the iterator in numerous places.
* include/debug/forward_list (_Safe_forward_list<>::_M_swap_aux): Adapt.
* include/debug/safe_sequence.tcc
(_Safe_sequence<>::_M_transfer_from_if): Adapt.
From-SVN: r215693
2014-09-29 21:22:17 +00:00
Jonathan Wakely
e51cf2f559
DR 1339
...
DR 1339
* doc/xml/manual/status_cxx2011.xml: Update.
* include/bits/stl_uninitialized.h (uninitialized_fill_n): Return
an iterator.
(__uninitialized_fill_n_a, __uninitialized_default_n_a): Likewise.
* include/bits/stl_vector.h (vector::_M_fill_initialize,
vector::_M_default_initialize): Use returned iterator.
* include/bits/vector.tcc (vector::_M_fill_assign,
vector::_M_fill_insert, vector::_M_default_append): Likewise.
* testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
16505.cc: Adjust return type.
* testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
dr1339.cc: New.
From-SVN: r215606
2014-09-25 16:27:18 +01:00
Jonathan Wakely
c5b2614754
* include/bits/vector.tcc (vector::_M_fill_assign): Use _M_swap_data.
...
From-SVN: r215596
2014-09-25 13:14:15 +01:00
Jonathan Wakely
755176105f
* testsuite/27_io/basic_ios/conv/bool_neg.cc: Add dg-do compile.
...
From-SVN: r215593
2014-09-25 11:50:31 +01:00
Jonathan Wakely
7569cc5753
bool_neg.cc: New.
...
* testsuite/27_io/basic_ios/conv/bool_neg.cc: New.
* testsuite/27_io/basic_ios/conv/bool.cc: New.
* testsuite/27_io/basic_ios/conv/voidptr.cc: New.
From-SVN: r215592
2014-09-25 11:22:51 +01:00
Tim Shen
2bde8cac37
re PR libstdc++/63199 (Inserting std::wregex to std::vector loses some std::wregex values)
...
PR libstdc++/63199
* include/bits/regex.h (basic_regex::basic_regex, basic_regex::assign,
basic_regex::imbue, basic_regex::getloc, basic_regex::swap): Add
_M_loc for basic_regex.
* include/bits/regex_automaton.h: Add _M_traits for _NFA.
* include/bits/regex_compiler.h (_Compiler::_M_get_nfa, __compile_nfa):
Make _Compiler::_M_nfa heap allocated.
* include/bits/regex_compiler.tcc (_Compiler::_Compiler): Make
_Compiler::_M_nfa heap allocated.
* include/bits/regex_executor.h (_Executor::_M_is_word):
Fix accessing _M_traits.
* include/bits/regex_executor.tcc (_Executor::_M_dfs):
Fix accessing _M_traits.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
New testcase.
From-SVN: r215578
2014-09-25 04:43:19 +00:00
Jonathan Wakely
2d57872662
re PR libstdc++/56193 (ios_base should replace operator void* with explicit operator bool in C++11 onwards.)
...
PR libstdc++/56193
* config/abi/pre/gnu.ver: Add new exports.
* include/bits/basic_ios.h (basic_ios::operator bool): Define.
* src/c++98/ios_locale.cc (basic_ios::operator void*): Instantiate.
From-SVN: r215571
2014-09-24 23:13:35 +01:00
Jonathan Wakely
407f9471cd
gnu.ver: Make GLIBCXX_3.4 patterns stricter so the new GLIBCXX_3.4.21 symbols don't...
...
* config/abi/pre/gnu.ver: Make GLIBCXX_3.4 patterns stricter so the
new GLIBCXX_3.4.21 symbols don't match them.
From-SVN: r215570
2014-09-24 23:13:29 +01:00
François Dumont
c6195f588b
re PR libstdc++/29988 (More stl_tree.h enhancements: improving operator=)
...
2014-09-24 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/29988
* include/bits/stl_tree.h (_Rb_tree_reuse_or_alloc_node<>): New.
(_Rb_tree_alloc_node<>): New.
(_Rb_tree<>::operator=(_Rb_tree<>&&)): New.
(_Rb_tree<>::_M_assign_unique): New.
(_Rb_tree<>::_M_assign_equal): New.
(_Rb_tree<>): Adapt to reuse allocated nodes as much as possible.
* include/bits/stl_map.h
(std::map<>::operator=(std::map<>&&)): Default implementation.
(std::map<>::operator=(initializer_list<>)): Adapt to use
_Rb_tree::_M_assign_unique.
* include/bits/stl_multimap.h
(std::multimap<>::operator=(std::multimap<>&&)): Default implementation.
(std::multimap<>::operator=(initializer_list<>)): Adapt to use
_Rb_tree::_M_assign_equal.
* include/bits/stl_set.h
(std::set<>::operator=(std::set<>&&)): Default implementation.
(std::set<>::operator=(initializer_list<>)): Adapt to use
_Rb_tree::_M_assign_unique.
* include/bits/stl_multiset.h
(std::multiset<>::operator=(std::multiset<>&&)): Default implementation.
(std::multiset<>::operator=(initializer_list<>)): Adapt to use
_Rb_tree::_M_assign_equal.
* testsuite/23_containers/map/allocator/copy_assign.cc (test03): New.
* testsuite/23_containers/map/allocator/init-list.cc: New.
* testsuite/23_containers/map/allocator/move_assign.cc (test03): New.
* testsuite/23_containers/multimap/allocator/copy_assign.cc
(test03): New.
* testsuite/23_containers/multimap/allocator/init-list.cc: New.
* testsuite/23_containers/multimap/allocator/move_assign.cc
(test03): New.
* testsuite/23_containers/multiset/allocator/copy_assign.cc
(test03): New.
* testsuite/23_containers/multiset/allocator/init-list.cc: New.
* testsuite/23_containers/multiset/allocator/move_assign.cc
(test03): New.
* testsuite/23_containers/set/allocator/copy_assign.cc (test03): New.
* testsuite/23_containers/set/allocator/init-list.cc: New.
* testsuite/23_containers/set/allocator/move_assign.cc (test03): New.
From-SVN: r215568
2014-09-24 19:55:35 +00:00
Jonathan Wakely
8d6b3c1632
re PR libstdc++/63353 (libstdc++-v3/src/c++11/ios.cc:232: possible typo ?)
...
PR libstdc++/63353
* src/c++11/ios.cc (ios_base::_M_swap): Fix typo.
From-SVN: r215549
2014-09-24 10:40:10 +01:00
Jonathan Wakely
48e968a720
gnu.ver: Adjust basic_ostream exports.
...
* config/abi/pre/gnu.ver: Adjust basic_ostream exports.
* include/std/istream (basic_iostream(basic_iostream&&)): Pass *this
to ostream constructor.
* include/std/ostream (basic_ostream(basic_iostream*)): Change to take
parameter by reference, to avoid ambiguity.
* testsuite/27_io/basic_ostream/cons/char/null.cc: New.
From-SVN: r215510
2014-09-23 14:17:42 +01:00
Jason Merrill
2eac08538a
Makefile.in (check-parallel-%): Add @.
...
gcc/
* Makefile.in (check-parallel-%): Add @.
libstdc++-v3/
* testsuite/Makefile.am (%/site.exp): Add @.
(check-DEJAGNU): Likewise.
* testsuite/Makefile.in: Regenerate.
From-SVN: r215474
2014-09-22 12:33:35 -04:00
Jonathan Wakely
7666d649f8
Include <bits/uses_allocator.h> in <stack> and <queue>.
...
* include/bits/stl_queue.h: Include missing header.
* include/bits/stl_stack.h: Likewise.
* testsuite/23_containers/priority_queue/requirements/
uses_allocator.cc: New.
* testsuite/23_containers/queue/requirements/uses_allocator.cc: New.
* testsuite/23_containers/stack/requirements/uses_allocator.cc: New.
From-SVN: r215470
2014-09-22 17:01:53 +01:00
Jonathan Wakely
bd0a790ab6
status_cxx2011.xml: Update C++11 status.
...
* doc/xml/manual/status_cxx2011.xml: Update C++11 status.
* doc/xml/manual/status_cxx2014.xml: Update TS status.
* doc/html/manual/status.html: Regenerate.
From-SVN: r215468
2014-09-22 16:25:37 +01:00
Jonathan Wakely
726d31362a
mutex (try_lock): Do not swallow exceptions.
...
* include/std/mutex (try_lock): Do not swallow exceptions.
* testsuite/30_threads/try_lock/4.cc: Fix test.
From-SVN: r215467
2014-09-22 15:54:35 +01:00
Jonathan Wakely
ed26fe9e4a
Fix ChangeLog date in my last commit.
...
From-SVN: r215466
2014-09-22 15:21:43 +01:00
Jonathan Wakely
9b81754858
Make streams movable and swappable.
...
PR libstdc++/54316
PR libstdc++/53626
* config/abi/pre/gnu.ver: Add new exports.
* config/io/basic_file_stdio.h (__basic_file): Support moving and
swapping.
* include/bits/basic_ios.h (basic_ios::move, basic_ios::swap):
Likewise.
* include/bits/ios_base.h (ios_base::_M_move, ios_base::_M_swap):
Likewise.
* include/bits/fstream.tcc (basic_filebuf): Likewise.
* include/bits/move.h (__exchange): Define for C++11 mode.
* include/ext/stdio_filebuf.h (stdio_filebuf): Support moving and
swapping.
* include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf): Likewise.
* include/std/fstream (basic_filebuf, basic_ifstream, basic_ofstream,
basic_fstream): Likewise.
* include/std/ios: Remove whitespace.
* include/std/istream (basic_istream, basic_iostream): Support moving
and swapping.
* include/std/ostream (basic_ostream): Likewise.
* include/std/sstream (basic_stringbuf, basic_istringstream,
basic_ostringstream, basic_stringstream): Likewise.
* include/std/streambuf (basic_streambuf): Do not default copy
constructor and assignment on first declaration.
* include/std/utility (exchange): Forward to __exchange.
* testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
* src/c++11/Makefile.am: Add stream-related files.
* src/c++11/Makefile.in: Regenerate.
* src/c++11/ext11-inst.cc (stdio_filebuf, stdio_sync_filebuf):
New file for explicit instantiation definitions.
* src/c++11/ios.cc: Move from src/c++98 to here.
(ios_base::_M_move, ios_base::_M_swap): Define.
* src/c++11/ios-inst.cc: Move from src/c++98 to here.
* src/c++11/iostream-inst.cc: Likewise.
* src/c++11/istream-inst.cc: Likewise.
* src/c++11/ostream-inst.cc: Likewise.
* src/c++11/sstream-inst.cc: Likewise.
* src/c++11/streambuf-inst.cc: Likewise.
* src/c++98/Makefile.am: Remove stream-related files.
* src/c++98/Makefile.in: Regenerate.
* src/c++98/ext-inst.cc (stdio_filebuf): Remove explicit
instantiations.
* src/c++98/misc-inst.cc (stdio_sync_filebuf): Likewise.
* src/c++98/ios-inst.cc: Move to src/c++11/.
* src/c++98/ios.cc: Move to src/c++11/.
* src/c++98/iostream-inst.cc: Likewise.
* src/c++98/istream-inst.cc: Likewise.
* src/c++98/ostream-inst.cc: Likewise.
* src/c++98/sstream-inst.cc: Likewise.
* src/c++98/streambuf-inst.cc: Likewise.
* testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
* testsuite/27_io/basic_fstream/cons/move.cc: New.
* testsuite/27_io/basic_fstream/assign/1.cc: New.
* testsuite/27_io/basic_ifstream/cons/move.cc: New.
* testsuite/27_io/basic_ifstream/assign/1.cc: New.
* testsuite/27_io/basic_istringstream/assign/1.cc: New.
* testsuite/27_io/basic_istringstream/cons/move.cc: New.
* testsuite/27_io/basic_ofstream/cons/move.cc: New.
* testsuite/27_io/basic_ofstream/assign/1.cc: New.
* testsuite/27_io/basic_ostringstream/assign/1.cc: New.
* testsuite/27_io/basic_ostringstream/cons/move.cc: New.
* testsuite/27_io/basic_stringstream/assign/1.cc: New.
* testsuite/27_io/basic_stringstream/cons/move.cc: New.
From-SVN: r215463
2014-09-22 14:34:09 +01:00