libstdc++: Use __is_same instead of __is_same_as
authorJonathan Wakely <jwakely@redhat.com>
Wed, 30 Sep 2020 17:24:48 +0000 (18:24 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Wed, 30 Sep 2020 17:41:12 +0000 (18:41 +0100)
commit73ae6eb572515ad627b575a7fbdfdd47a4368e1c
treeaaed6e14092cf913cfc5defb44616e24a5b0a8ad
parent091ddcc1b2199cdf8146fb00cf55ef9162e237b9
libstdc++: Use __is_same instead of __is_same_as

PR 92271 added __is_same as another spelling of __is_same_as. Since
Clang also spells it __is_same, let's just use that consistently.

It appears that Intel icc sets __GNUC__ to 10, but only supports
__is_same_as. If we only use __is_same for __GNUC__ >= 11 then we won't
break icc again (it looks like we broke previous versions of icc when we
started using __is_same_as).

libstdc++-v3/ChangeLog:

* include/bits/c++config (_GLIBCXX_HAVE_BUILTIN_IS_SAME):
Define for GCC 11 or when !__is_identifier(__is_same).
(_GLIBCXX_BUILTIN_IS_SAME_AS): Remove.
* include/std/type_traits (is_same, is_same_v): Replace uses
of _GLIBCXX_BUILTIN_IS_SAME_AS.
libstdc++-v3/include/bits/c++config
libstdc++-v3/include/std/type_traits