public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/114459] New: [C++26] P2893R3 - Variadic friends
@ 2024-03-25 11:12 jakub at gcc dot gnu.org
2024-03-25 18:07 ` [Bug c++/114459] " pinskia at gcc dot gnu.org
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-03-25 11:12 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114459
Bug ID: 114459
Summary: [C++26] P2893R3 - Variadic friends
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: jakub at gcc dot gnu.org
Target Milestone: ---
See <https://wg21.link/P2893R3>.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/114459] [C++26] P2893R3 - Variadic friends
2024-03-25 11:12 [Bug c++/114459] New: [C++26] P2893R3 - Variadic friends jakub at gcc dot gnu.org
@ 2024-03-25 18:07 ` pinskia at gcc dot gnu.org
2024-05-03 13:11 ` jakub at gcc dot gnu.org
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-03-25 18:07 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114459
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed| |2024-03-25
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/114459] [C++26] P2893R3 - Variadic friends
2024-03-25 11:12 [Bug c++/114459] New: [C++26] P2893R3 - Variadic friends jakub at gcc dot gnu.org
2024-03-25 18:07 ` [Bug c++/114459] " pinskia at gcc dot gnu.org
@ 2024-05-03 13:11 ` jakub at gcc dot gnu.org
2024-05-07 20:38 ` cvs-commit at gcc dot gnu.org
2024-05-07 20:40 ` jakub at gcc dot gnu.org
3 siblings, 0 replies; 5+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-05-03 13:11 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114459
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org
Status|NEW |ASSIGNED
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 58100
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=58100&action=edit
gcc14-pr114459.patch
Untested implementation.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/114459] [C++26] P2893R3 - Variadic friends
2024-03-25 11:12 [Bug c++/114459] New: [C++26] P2893R3 - Variadic friends jakub at gcc dot gnu.org
2024-03-25 18:07 ` [Bug c++/114459] " pinskia at gcc dot gnu.org
2024-05-03 13:11 ` jakub at gcc dot gnu.org
@ 2024-05-07 20:38 ` cvs-commit at gcc dot gnu.org
2024-05-07 20:40 ` jakub at gcc dot gnu.org
3 siblings, 0 replies; 5+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-05-07 20:38 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114459
--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:
https://gcc.gnu.org/g:17458d2bc74b904968e6bdc12527eb040c8d2370
commit r15-304-g17458d2bc74b904968e6bdc12527eb040c8d2370
Author: Jakub Jelinek <jakub@redhat.com>
Date: Tue May 7 22:38:01 2024 +0200
c++: Implement C++26 P2893R3 - Variadic friends [PR114459]
The following patch imeplements the C++26 P2893R3 - Variadic friends
paper. The paper allows for the friend type declarations to specify
more than one friend type specifier and allows to specify ... at
the end of each. The patch doesn't introduce tentative parsing of
friend-type-declaration non-terminal, but rather just extends existing
parsing where it is a friend declaration which ends with ; after the
declaration specifiers to the cases where it ends with ...; or , or ...,
In that case it pedwarns for cxx_dialect < cxx26, handles the ... and
if there is , continues in a loop to parse the further friend type
specifiers.
2024-05-07 Jakub Jelinek <jakub@redhat.com>
PR c++/114459
gcc/c-family/
* c-cppbuiltin.cc (c_cpp_builtins): Predefine
__cpp_variadic_friend=202403L for C++26.
gcc/cp/
* parser.cc (cp_parser_member_declaration): Implement C++26
P2893R3 - Variadic friends. Parse friend type declarations
with ... or with more than one friend type specifier.
* friend.cc (make_friend_class): Allow TYPE_PACK_EXPANSION.
* pt.cc (instantiate_class_template): Handle PACK_EXPANSION_P
in friend classes.
gcc/testsuite/
* g++.dg/cpp26/feat-cxx26.C (__cpp_variadic_friend): Add test.
* g++.dg/cpp26/variadic-friend1.C: New test.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/114459] [C++26] P2893R3 - Variadic friends
2024-03-25 11:12 [Bug c++/114459] New: [C++26] P2893R3 - Variadic friends jakub at gcc dot gnu.org
` (2 preceding siblings ...)
2024-05-07 20:38 ` cvs-commit at gcc dot gnu.org
@ 2024-05-07 20:40 ` jakub at gcc dot gnu.org
3 siblings, 0 replies; 5+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-05-07 20:40 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114459
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|ASSIGNED |RESOLVED
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Implemented for 15.1.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-05-07 20:40 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-25 11:12 [Bug c++/114459] New: [C++26] P2893R3 - Variadic friends jakub at gcc dot gnu.org
2024-03-25 18:07 ` [Bug c++/114459] " pinskia at gcc dot gnu.org
2024-05-03 13:11 ` jakub at gcc dot gnu.org
2024-05-07 20:38 ` cvs-commit at gcc dot gnu.org
2024-05-07 20:40 ` jakub 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).