public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/91383] C++17 should remove some library feature deprecated in C++14
[not found] <bug-91383-4@http.gcc.gnu.org/bugzilla/>
@ 2020-05-11 18:10 ` glisse at gcc dot gnu.org
2021-05-24 6:01 ` Sandy.Martel at lexisnexisrisk dot com
` (5 subsequent siblings)
6 siblings, 0 replies; 7+ messages in thread
From: glisse at gcc dot gnu.org @ 2020-05-11 18:10 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91383
Marc Glisse <glisse at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |gcc at linkmauve dot fr
--- Comment #6 from Marc Glisse <glisse at gcc dot gnu.org> ---
*** Bug 95065 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug libstdc++/91383] C++17 should remove some library feature deprecated in C++14
[not found] <bug-91383-4@http.gcc.gnu.org/bugzilla/>
2020-05-11 18:10 ` [Bug libstdc++/91383] C++17 should remove some library feature deprecated in C++14 glisse at gcc dot gnu.org
@ 2021-05-24 6:01 ` Sandy.Martel at lexisnexisrisk dot com
2021-05-24 9:47 ` redi at gcc dot gnu.org
` (4 subsequent siblings)
6 siblings, 0 replies; 7+ messages in thread
From: Sandy.Martel at lexisnexisrisk dot com @ 2021-05-24 6:01 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91383
Sandy Martel <Sandy.Martel at lexisnexisrisk dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |Sandy.Martel@lexisnexisrisk
| |.com
--- Comment #7 from Sandy Martel <Sandy.Martel at lexisnexisrisk dot com> ---
Still pretty annoying when you're in a cross-platform shop, having to
constantly remind your gcc co-workers to not use those gcc c++ extensions that
don't exist in libc++ nor msvc.
As extension to the C++17 language, maybe they should be moved to __gnu_cxx
namespace or only enabled with -std=gnu++17 .
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug libstdc++/91383] C++17 should remove some library feature deprecated in C++14
[not found] <bug-91383-4@http.gcc.gnu.org/bugzilla/>
2020-05-11 18:10 ` [Bug libstdc++/91383] C++17 should remove some library feature deprecated in C++14 glisse at gcc dot gnu.org
2021-05-24 6:01 ` Sandy.Martel at lexisnexisrisk dot com
@ 2021-05-24 9:47 ` redi at gcc dot gnu.org
2021-05-24 10:04 ` redi at gcc dot gnu.org
` (3 subsequent siblings)
6 siblings, 0 replies; 7+ messages in thread
From: redi at gcc dot gnu.org @ 2021-05-24 9:47 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91383
--- Comment #8 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Why don't you have CI that builds with other implementations, so that your
co-workers are told automatically when they do that? It seems like you're
expecting GCC to solve a non-technical problem with your team.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug libstdc++/91383] C++17 should remove some library feature deprecated in C++14
[not found] <bug-91383-4@http.gcc.gnu.org/bugzilla/>
` (2 preceding siblings ...)
2021-05-24 9:47 ` redi at gcc dot gnu.org
@ 2021-05-24 10:04 ` redi at gcc dot gnu.org
2022-01-14 11:30 ` cvs-commit at gcc dot gnu.org
` (2 subsequent siblings)
6 siblings, 0 replies; 7+ messages in thread
From: redi at gcc dot gnu.org @ 2021-05-24 10:04 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91383
--- Comment #9 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Some of the removed features are missing deprecated attributes, which should be
fixed.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug libstdc++/91383] C++17 should remove some library feature deprecated in C++14
[not found] <bug-91383-4@http.gcc.gnu.org/bugzilla/>
` (3 preceding siblings ...)
2021-05-24 10:04 ` redi at gcc dot gnu.org
@ 2022-01-14 11:30 ` cvs-commit at gcc dot gnu.org
2022-01-14 13:10 ` redi at gcc dot gnu.org
2022-01-28 0:03 ` Sandy.Martel at lexisnexisrisk dot com
6 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-01-14 11:30 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91383
--- Comment #10 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jonathan Wakely <redi@gcc.gnu.org>:
https://gcc.gnu.org/g:de196e5dd8ea4d0ed01a8c265afdd3676e27545b
commit r12-6581-gde196e5dd8ea4d0ed01a8c265afdd3676e27545b
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Tue Jan 11 18:42:38 2022 +0000
libstdc++: Add attribute to features deprecated in C++17 [PR91260]
There are a lot of things in the C++ standard library which were
deprecated in C++11, and more in C++17. Some of them were removed after
deprecation and are no longer present in the standard at all. We have
not removed these from libstdc++ because keeping them as non-standard
extensions is conforming, and avoids gratuitously breaking user code,
and in some cases we need to keep using them to avoid ABI changes. But
we should at least give a warning for using them. That has not been done
previously because of the library's own uses of them (e.g. the
std::iterator class template used as a base class).
This adds deprecated attributes to the relevant components, and then
goes through the whole library to add diagnostic pragmas where needed to
suppress warnings about our internal uses of them. The tests are updated
to either expect the additional warnings, or to suppress them where we
aren't interested in them.
libstdc++-v3/ChangeLog:
PR libstdc++/91260
PR libstdc++/91383
PR libstdc++/95065
* include/backward/binders.h (bind1st, bind2nd): Add deprecated
attribute.
* include/bits/refwrap.h (_Maybe_unary_or_binary_function):
Disable deprecated warnings for base classes.
(_Reference_wrapper_base): Likewise.
* include/bits/shared_ptr_base.h (_Sp_owner_less): Likewise.
* include/bits/stl_bvector.h (_Bit_iterator_base): Likewise.
* include/bits/stl_function.h (unary_function, binary_function):
Add deprecated attribute.
(unary_negate, not1, binary_negate, not2, ptr_fun)
(pointer_to_unary_function, pointer_to_binary_function)
(mem_fun_t, const_mem_fun_t, mem_fun_ref_t, const_mem_fun_ref_t)
(mem_fun1_t, const_mem_fun1_t, mem_fun_ref1_t)
(const_mem_fun1_ref_t, mem_fun, mem_fun_ref): Add deprecated
attributes.
* include/bits/stl_iterator.h: Disable deprecated warnings for
std::iterator base classes.
* include/bits/stl_iterator_base_types.h (iterator): Add
deprecated attribute.
* include/bits/stl_map.h (map::value_compare): Disable
deprecated warnings for base class.
* include/bits/stl_multimap.h (multimap::value_compare):
Likewise.
* include/bits/stl_raw_storage_iter.h (raw_storage_iterator):
Add deprecated attribute.
* include/bits/stl_tempbuf.h (get_temporary_buffer): Likewise.
* include/bits/stream_iterator.h: Disable deprecated warnings.
* include/bits/streambuf_iterator.h: Likewise.
* include/ext/bitmap_allocator.h: Remove unary_function base
classes.
* include/ext/functional: Disable deprecated warnings.
* include/ext/rope: Likewise.
* include/ext/throw_allocator.h: Likewise.
* include/std/type_traits (result_of): Add deprecated attribute.
* include/tr1/functional: Disable deprecated warnings.
* include/tr1/functional_hash.h: Likewise.
* testsuite/20_util/function_objects/binders/1.cc: Add
-Wno-disable-deprecations.
* testsuite/20_util/function_objects/binders/3113.cc: Likewise.
* testsuite/20_util/function_objects/constexpr.cc: Add
dg-warning.
* testsuite/20_util/raw_storage_iterator/base.cc: Likewise.
* testsuite/20_util/raw_storage_iterator/dr2127.cc: Likewise.
*
testsuite/20_util/raw_storage_iterator/requirements/base_classes.cc:
Likewise.
*
testsuite/20_util/raw_storage_iterator/requirements/explicit_instantiation/1.cc:
Likewise.
* testsuite/20_util/raw_storage_iterator/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/reference_wrapper/24803.cc:
Likewise.
* testsuite/20_util/reference_wrapper/typedefs.cc: Enable for
C++20 and check for absence of nested types.
* testsuite/20_util/shared_ptr/comparison/less.cc: Remove
std::binary_function base class.
* testsuite/20_util/temporary_buffer.cc: Add dg-warning.
* testsuite/21_strings/basic_string/cons/char/69092.cc: Remove
std::iterator base class.
*
testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc:
Likewise.
*
testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc:
Likewise.
*
testsuite/24_iterators/insert_iterator/requirements/base_classes.cc:
Likewise.
*
testsuite/24_iterators/istream_iterator/requirements/base_classes.cc:
Likewise.
* testsuite/24_iterators/istreambuf_iterator/92285.cc:
Likewise.
*
testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc:
Likewise.
*
testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc:
Likewise.
*
testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc:
Likewise.
*
testsuite/24_iterators/reverse_iterator/requirements/base_classes.cc:
Likewise.
* testsuite/25_algorithms/copy/34595.cc:
Likewise.
* testsuite/25_algorithms/minmax/3.cc: Remove std::binary_function
base class.
*
testsuite/25_algorithms/all_of/requirements/explicit_instantiation/2.cc:
Disable deprecated warnings.
*
testsuite/25_algorithms/all_of/requirements/explicit_instantiation/pod.cc:
Likewise.
*
testsuite/25_algorithms/any_of/requirements/explicit_instantiation/2.cc:
Likewise.
*
testsuite/25_algorithms/any_of/requirements/explicit_instantiation/pod.cc:
Likewise.
*
testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/2.cc:
Likewise.
*
testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/pod.cc:
Likewise.
*
testsuite/25_algorithms/count_if/requirements/explicit_instantiation/2.cc:
Likewise.
*
testsuite/25_algorithms/count_if/requirements/explicit_instantiation/pod.cc:
Likewise.
*
testsuite/25_algorithms/find_end/requirements/explicit_instantiation/2.cc:
Likewise.
*
testsuite/25_algorithms/find_end/requirements/explicit_instantiation/pod.cc:
Likewise.
*
testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/2.cc:
Likewise.
*
testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/pod.cc:
Likewise.
*
testsuite/25_algorithms/find_if/requirements/explicit_instantiation/2.cc:
Likewise.
*
testsuite/25_algorithms/find_if/requirements/explicit_instantiation/pod.cc:
Likewise.
*
testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/2.cc:
Likewise.
*
testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/pod.cc:
Likewise.
*
testsuite/25_algorithms/for_each/requirements/explicit_instantiation/2.cc:
Likewise.
*
testsuite/25_algorithms/for_each/requirements/explicit_instantiation/pod.cc:
Likewise.
*
testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/2.cc:
Likewise.
*
testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/pod.cc:
Likewise.
*
testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/2.cc:
Likewise.
*
testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/pod.cc:
Likewise.
*
testsuite/25_algorithms/none_of/requirements/explicit_instantiation/2.cc:
Likewise.
*
testsuite/25_algorithms/none_of/requirements/explicit_instantiation/pod.cc:
Likewise.
*
testsuite/25_algorithms/partition/requirements/explicit_instantiation/2.cc:
Likewise.
*
testsuite/25_algorithms/partition/requirements/explicit_instantiation/pod.cc:
Likewise.
*
testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/2.cc:
Likewise.
*
testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/pod.cc:
Likewise.
*
testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/2.cc:
Likewise.
*
testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/pod.cc:
Likewise.
*
testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc:
Likewise.
*
testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc:
Likewise.
*
testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/2.cc:
Likewise.
*
testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/pod.cc:
Likewise.
*
testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/2.cc:
Likewise.
*
testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/pod.cc:
Likewise.
*
testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/2.cc:
Likewise.
*
testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/pod.cc:
Likewise.
*
testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/2.cc:
Likewise.
*
testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/pod.cc:
Likewise.
*
testsuite/25_algorithms/search/requirements/explicit_instantiation/2.cc:
Likewise.
*
testsuite/25_algorithms/search/requirements/explicit_instantiation/pod.cc:
Likewise.
*
testsuite/25_algorithms/search_n/requirements/explicit_instantiation/2.cc:
Likewise.
*
testsuite/25_algorithms/search_n/requirements/explicit_instantiation/pod.cc:
Likewise.
*
testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc:
Likewise.
*
testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc:
Likewise.
*
testsuite/25_algorithms/transform/requirements/explicit_instantiation/2.cc:
Likewise.
*
testsuite/25_algorithms/transform/requirements/explicit_instantiation/pod.cc:
Likewise.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Add
dg-warning.
* testsuite/ext/pb_ds/example/priority_queue_erase_if.cc:
Likewise.
* testsuite/ext/pb_ds/example/priority_queue_split_join.cc:
Likewise.
* testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
Disable deprecated warnings.
* testsuite/tr1/6_containers/hash/requirements/base_classes.cc:
Likewise.
* testsuite/util/regression/trait/erase_if_fn.hpp: Remove
std::unary_function base classes.
* testsuite/util/testsuite_iterators.h (output_iterator_wrapper):
Remove std::iterator base classes.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug libstdc++/91383] C++17 should remove some library feature deprecated in C++14
[not found] <bug-91383-4@http.gcc.gnu.org/bugzilla/>
` (4 preceding siblings ...)
2022-01-14 11:30 ` cvs-commit at gcc dot gnu.org
@ 2022-01-14 13:10 ` redi at gcc dot gnu.org
2022-01-28 0:03 ` Sandy.Martel at lexisnexisrisk dot com
6 siblings, 0 replies; 7+ messages in thread
From: redi at gcc dot gnu.org @ 2022-01-14 13:10 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91383
--- Comment #11 from Jonathan Wakely <redi at gcc dot gnu.org> ---
For GCC 12 those types will still exist (because as explained above, that is
allowed by the standard) but they will give -Wdeprecated warnings.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug libstdc++/91383] C++17 should remove some library feature deprecated in C++14
[not found] <bug-91383-4@http.gcc.gnu.org/bugzilla/>
` (5 preceding siblings ...)
2022-01-14 13:10 ` redi at gcc dot gnu.org
@ 2022-01-28 0:03 ` Sandy.Martel at lexisnexisrisk dot com
6 siblings, 0 replies; 7+ messages in thread
From: Sandy.Martel at lexisnexisrisk dot com @ 2022-01-28 0:03 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91383
--- Comment #12 from Sandy Martel <Sandy.Martel at lexisnexisrisk dot com> ---
That's a very good solution, thanks!
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2022-01-28 0:03 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <bug-91383-4@http.gcc.gnu.org/bugzilla/>
2020-05-11 18:10 ` [Bug libstdc++/91383] C++17 should remove some library feature deprecated in C++14 glisse at gcc dot gnu.org
2021-05-24 6:01 ` Sandy.Martel at lexisnexisrisk dot com
2021-05-24 9:47 ` redi at gcc dot gnu.org
2021-05-24 10:04 ` redi at gcc dot gnu.org
2022-01-14 11:30 ` cvs-commit at gcc dot gnu.org
2022-01-14 13:10 ` redi at gcc dot gnu.org
2022-01-28 0:03 ` Sandy.Martel at lexisnexisrisk dot com
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).