public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/114891] New: Unconditional use of std::is_pointer_interconvertible_base_of_v in <generator> makes the header unusable with Clang 18
@ 2024-04-30 2:38 de34 at live dot cn
2024-04-30 4:18 ` [Bug libstdc++/114891] " pinskia at gcc dot gnu.org
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: de34 at live dot cn @ 2024-04-30 2:38 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114891
Bug ID: 114891
Summary: Unconditional use of
std::is_pointer_interconvertible_base_of_v in
<generator> makes the header unusable with Clang 18
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: de34 at live dot cn
Target Milestone: ---
Clang only supports the intrinsic for is_pointer_interconvertible_base_of_v
since 19 (https://github.com/llvm/llvm-project/pull/88473).
It seems that the uses of is_pointer_interconvertible_base_of_v is not strictly
needed. Perhaps we should guard the uses with
__cpp_lib_is_pointer_interconvertible to support old versions of Clang.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug libstdc++/114891] Unconditional use of std::is_pointer_interconvertible_base_of_v in <generator> makes the header unusable with Clang 18
2024-04-30 2:38 [Bug libstdc++/114891] New: Unconditional use of std::is_pointer_interconvertible_base_of_v in <generator> makes the header unusable with Clang 18 de34 at live dot cn
@ 2024-04-30 4:18 ` pinskia at gcc dot gnu.org
2024-04-30 7:27 ` redi at gcc dot gnu.org
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-04-30 4:18 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114891
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
So a C++23 library header (generator) is using a C++20 feature
(is_pointer_interconvertible_base_of_v) ...
Especially since GCC 14.1.0 will most likely be released with this header and
14.2.0 won't come out until Summer end (around most likely around the same time
as clang 19). And GCC 15.1.0 won't come out until April/May 2025.
Supporting older clang which does not have C++20 support for something which is
C++23 (which itself won't fully be supported until GCC 15 at earliest).
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug libstdc++/114891] Unconditional use of std::is_pointer_interconvertible_base_of_v in <generator> makes the header unusable with Clang 18
2024-04-30 2:38 [Bug libstdc++/114891] New: Unconditional use of std::is_pointer_interconvertible_base_of_v in <generator> makes the header unusable with Clang 18 de34 at live dot cn
2024-04-30 4:18 ` [Bug libstdc++/114891] " pinskia at gcc dot gnu.org
@ 2024-04-30 7:27 ` redi at gcc dot gnu.org
2024-05-01 16:27 ` cvs-commit at gcc dot gnu.org
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: redi at gcc dot gnu.org @ 2024-04-30 7:27 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114891
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever confirmed|0 |1
Last reconfirmed| |2024-04-30
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
It's only used for static assertions, so we can just disable those when the
feature isn't supported. But it's not a big deal, Clang users can just not use
<generator> for now.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug libstdc++/114891] Unconditional use of std::is_pointer_interconvertible_base_of_v in <generator> makes the header unusable with Clang 18
2024-04-30 2:38 [Bug libstdc++/114891] New: Unconditional use of std::is_pointer_interconvertible_base_of_v in <generator> makes the header unusable with Clang 18 de34 at live dot cn
2024-04-30 4:18 ` [Bug libstdc++/114891] " pinskia at gcc dot gnu.org
2024-04-30 7:27 ` redi at gcc dot gnu.org
@ 2024-05-01 16:27 ` cvs-commit at gcc dot gnu.org
2024-05-01 16:28 ` redi at gcc dot gnu.org
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-05-01 16:27 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114891
--- Comment #3 from GCC 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:1fbe1a50d86df11f434351cf62461a32747f9710
commit r15-92-g1fbe1a50d86df11f434351cf62461a32747f9710
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Tue Apr 30 09:48:00 2024 +0100
libstdc++: Guard uses of is_pointer_interconvertible_v [PR114891]
This type trait isn't supported by Clang 18. It's only used in static
assertions, so they can just be omitted if the trait isn't available.
libstdc++-v3/ChangeLog:
PR libstdc++/114891
* include/std/generator: Check feature test macro before using
is_pointer_interconvertible_v.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug libstdc++/114891] Unconditional use of std::is_pointer_interconvertible_base_of_v in <generator> makes the header unusable with Clang 18
2024-04-30 2:38 [Bug libstdc++/114891] New: Unconditional use of std::is_pointer_interconvertible_base_of_v in <generator> makes the header unusable with Clang 18 de34 at live dot cn
` (2 preceding siblings ...)
2024-05-01 16:27 ` cvs-commit at gcc dot gnu.org
@ 2024-05-01 16:28 ` redi at gcc dot gnu.org
2024-05-14 9:50 ` cvs-commit at gcc dot gnu.org
2024-05-14 9:55 ` redi at gcc dot gnu.org
5 siblings, 0 replies; 7+ messages in thread
From: redi at gcc dot gnu.org @ 2024-05-01 16:28 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114891
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |14.2
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug libstdc++/114891] Unconditional use of std::is_pointer_interconvertible_base_of_v in <generator> makes the header unusable with Clang 18
2024-04-30 2:38 [Bug libstdc++/114891] New: Unconditional use of std::is_pointer_interconvertible_base_of_v in <generator> makes the header unusable with Clang 18 de34 at live dot cn
` (3 preceding siblings ...)
2024-05-01 16:28 ` redi at gcc dot gnu.org
@ 2024-05-14 9:50 ` cvs-commit at gcc dot gnu.org
2024-05-14 9:55 ` redi at gcc dot gnu.org
5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-05-14 9:50 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114891
--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-14 branch has been updated by Jonathan Wakely
<redi@gcc.gnu.org>:
https://gcc.gnu.org/g:4d3b358fd757ddd09cbee202f47939043c78676c
commit r14-10206-g4d3b358fd757ddd09cbee202f47939043c78676c
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Tue Apr 30 09:48:00 2024 +0100
libstdc++: Guard uses of is_pointer_interconvertible_v [PR114891]
This type trait isn't supported by Clang 18. It's only used in static
assertions, so they can just be omitted if the trait isn't available.
libstdc++-v3/ChangeLog:
PR libstdc++/114891
* include/std/generator: Check feature test macro before using
is_pointer_interconvertible_v.
(cherry picked from commit 1fbe1a50d86df11f434351cf62461a32747f9710)
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug libstdc++/114891] Unconditional use of std::is_pointer_interconvertible_base_of_v in <generator> makes the header unusable with Clang 18
2024-04-30 2:38 [Bug libstdc++/114891] New: Unconditional use of std::is_pointer_interconvertible_base_of_v in <generator> makes the header unusable with Clang 18 de34 at live dot cn
` (4 preceding siblings ...)
2024-05-14 9:50 ` cvs-commit at gcc dot gnu.org
@ 2024-05-14 9:55 ` redi at gcc dot gnu.org
5 siblings, 0 replies; 7+ messages in thread
From: redi at gcc dot gnu.org @ 2024-05-14 9:55 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114891
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|NEW |RESOLVED
--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Fixed for 14.2
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-05-14 9:55 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-30 2:38 [Bug libstdc++/114891] New: Unconditional use of std::is_pointer_interconvertible_base_of_v in <generator> makes the header unusable with Clang 18 de34 at live dot cn
2024-04-30 4:18 ` [Bug libstdc++/114891] " pinskia at gcc dot gnu.org
2024-04-30 7:27 ` redi at gcc dot gnu.org
2024-05-01 16:27 ` cvs-commit at gcc dot gnu.org
2024-05-01 16:28 ` redi at gcc dot gnu.org
2024-05-14 9:50 ` cvs-commit at gcc dot gnu.org
2024-05-14 9:55 ` redi at gcc dot gnu.org
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).