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).