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