[PATCH] PR libstdc++/89102 fix common_type<> and common_type<T> specializations

Jonathan Wakely jwakely@redhat.com
Wed Feb 6 17:35:00 GMT 2019


On 06/02/19 17:25 +0000, Jonathan Wakely wrote:
>This is a partial implementation of the revised std::common_type rules
>from P0435R1.
>
>	PR libstdc++/89102 (partial)
>	* include/std/type_traits (common_type<>): Define.
>	(common_type<T>): Derive from common_type<T, T>.
>	* testsuite/20_util/common_type/requirements/explicit_instantiation.cc:
>	Test zero-length template argument list.
>	* testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
>	Test additional single argument cases.
>	* testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
>	Adjust expected error.
>
>Tested powerpc64le-linux, committed to trunk.
>
>I think this could be backported to gcc-8-branch too.
>
>I have a complete patch for stage 1 which I'll post in a minute.

This is the complee patch, but it changes the semantics in a few cases
involving user specializations, so I'll wait for stage 1 (and then
maybe backport it to gcc-9-branch later).


-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.txt
Type: text/x-patch
Size: 15782 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20190206/cf5e00d9/attachment.bin>


More information about the Libstdc++ mailing list