public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/107688] New: [C++23] P2615 - Meaningful exports
@ 2022-11-14 18:42 mpolacek at gcc dot gnu.org
2022-11-14 18:42 ` [Bug c++/107688] " mpolacek at gcc dot gnu.org
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2022-11-14 18:42 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107688
Bug ID: 107688
Summary: [C++23] P2615 - Meaningful exports
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: mpolacek at gcc dot gnu.org
Target Milestone: ---
See <https://wg21.link/p2615>.
This resolves CWG2443.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/107688] [C++23] P2615 - Meaningful exports
2022-11-14 18:42 [Bug c++/107688] New: [C++23] P2615 - Meaningful exports mpolacek at gcc dot gnu.org
@ 2022-11-14 18:42 ` mpolacek at gcc dot gnu.org
2024-03-04 14:22 ` nshead at gcc dot gnu.org
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2022-11-14 18:42 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107688
Marek Polacek <mpolacek at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Blocks| |98940
Status|UNCONFIRMED |NEW
Last reconfirmed| |2022-11-14
Ever confirmed|0 |1
Referenced Bugs:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98940
[Bug 98940] Implement C++23 language features
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/107688] [C++23] P2615 - Meaningful exports
2022-11-14 18:42 [Bug c++/107688] New: [C++23] P2615 - Meaningful exports mpolacek at gcc dot gnu.org
2022-11-14 18:42 ` [Bug c++/107688] " mpolacek at gcc dot gnu.org
@ 2024-03-04 14:22 ` nshead at gcc dot gnu.org
2024-05-01 5:05 ` cvs-commit at gcc dot gnu.org
2024-05-01 5:06 ` nshead at gcc dot gnu.org
3 siblings, 0 replies; 5+ messages in thread
From: nshead at gcc dot gnu.org @ 2024-03-04 14:22 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107688
Nathaniel Shead <nshead at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at gcc dot gnu.org |nshead at gcc dot gnu.org
CC| |nshead at gcc dot gnu.org
Status|NEW |ASSIGNED
--- Comment #1 from Nathaniel Shead <nshead at gcc dot gnu.org> ---
Proposed patch here:
https://gcc.gnu.org/pipermail/gcc-patches/2024-March/647120.html
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/107688] [C++23] P2615 - Meaningful exports
2022-11-14 18:42 [Bug c++/107688] New: [C++23] P2615 - Meaningful exports mpolacek at gcc dot gnu.org
2022-11-14 18:42 ` [Bug c++/107688] " mpolacek at gcc dot gnu.org
2024-03-04 14:22 ` nshead at gcc dot gnu.org
@ 2024-05-01 5:05 ` cvs-commit at gcc dot gnu.org
2024-05-01 5:06 ` nshead at gcc dot gnu.org
3 siblings, 0 replies; 5+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-05-01 5:05 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107688
--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Nathaniel Shead <nshead@gcc.gnu.org>:
https://gcc.gnu.org/g:79420dd344145819677b3f975bb305a778fcaf91
commit r15-84-g79420dd344145819677b3f975bb305a778fcaf91
Author: Nathaniel Shead <nathanieloshead@gmail.com>
Date: Mon Mar 4 23:58:30 2024 +1100
c++: Implement P2615 'Meaningful Exports' [PR107688]
This clarifies which kinds of declarations may and may not be exported
in various contexts. The patch additionally fixes up some small issues
that were clarified by the paper.
Most of the changes are with regards to export-declarations, which are
applied for all standards modes that we support '-fmodules-ts' for.
However there are also a couple of changes made to linkage specifiers
('extern "C"'); I've applied these as since C++20, to line up with when
modules were actually introduced.
PR c++/107688
gcc/cp/ChangeLog:
* name-lookup.cc (push_namespace): Error when exporting
namespace with internal linkage.
* parser.h (struct cp_parser): Add new flag
'in_unbraced_export_declaration_p'.
* parser.cc (cp_debug_parser): Print the new flag.
(cp_parser_new): Initialise the new flag.
(cp_parser_module_export): Set the new flag.
(cp_parser_class_specifier): Clear and restore the new flag.
(cp_parser_import_declaration): Imports can now appear directly
in a linkage specification.
(cp_parser_declaration): Categorise declarations as "name" or
"special"; error on the later in contexts where the former is
required.
(cp_parser_class_head): Error when exporting a partial
specialisation.
gcc/testsuite/ChangeLog:
* g++.dg/modules/contracts-1_a.C: Avoid now-illegal syntax.
* g++.dg/modules/contracts-2_a.C: Likewise.
* g++.dg/modules/contracts-3_a.C: Likewise.
* g++.dg/modules/contracts-4_a.C: Likewise.
* g++.dg/modules/lang-1_c.C: Clarify now-legal syntax.
* g++.dg/modules/pr101582-1.C: Remove now-legal XFAILS.
* g++.dg/template/crash71.C: Update error messages.
* g++.dg/cpp2a/linkage-spec1.C: New test.
* g++.dg/modules/export-3.C: New test.
* g++.dg/modules/export-4_a.C: New test.
* g++.dg/modules/export-4_b.C: New test.
Signed-off-by: Nathaniel Shead <nathanieloshead@gmail.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/107688] [C++23] P2615 - Meaningful exports
2022-11-14 18:42 [Bug c++/107688] New: [C++23] P2615 - Meaningful exports mpolacek at gcc dot gnu.org
` (2 preceding siblings ...)
2024-05-01 5:05 ` cvs-commit at gcc dot gnu.org
@ 2024-05-01 5:06 ` nshead at gcc dot gnu.org
3 siblings, 0 replies; 5+ messages in thread
From: nshead at gcc dot gnu.org @ 2024-05-01 5:06 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107688
Nathaniel Shead <nshead at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|ASSIGNED |RESOLVED
Target Milestone|--- |15.0
--- Comment #3 from Nathaniel Shead <nshead at gcc dot gnu.org> ---
Implemented for GCC 15.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-05-01 5:06 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-14 18:42 [Bug c++/107688] New: [C++23] P2615 - Meaningful exports mpolacek at gcc dot gnu.org
2022-11-14 18:42 ` [Bug c++/107688] " mpolacek at gcc dot gnu.org
2024-03-04 14:22 ` nshead at gcc dot gnu.org
2024-05-01 5:05 ` cvs-commit at gcc dot gnu.org
2024-05-01 5:06 ` nshead 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).