public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH 0/4] c++/modules: Fix missed GMF discarding
@ 2024-05-01  9:58 Nathaniel Shead
  2024-05-01  9:59 ` [PATCH 1/4] c++/modules: Don't emit unused GMF partial specializations [PR114630] Nathaniel Shead
                   ` (3 more replies)
  0 siblings, 4 replies; 15+ messages in thread
From: Nathaniel Shead @ 2024-05-01  9:58 UTC (permalink / raw)
  To: gcc-patches; +Cc: Jason Merrill, Nathan Sidwell, Patrick Palka

This patch series fixes a number of issues with declarations in the GMF not
correctly getting discarded, and ending up in the module CMI.  The most
noticeable outcome of this is users running very quickly into issues with
including a header after those names have already been provided by an 'import';
this should go away once we implement deduplication of textual redefinitions,
but it's still worth discarding as it otherwise inflates the size of the CMI
with unused declarations.

Nathaniel Shead (4):
  c++: Don't emit unused GMF partial specializations [PR114630]
  c++: Track module purview for deferred instantiations [PR114630]
  c++: Also track module purview from deferred vtable instantiation
    [PR114630]
  c++: Add new xtreme-header testcase for GMF discarding

 gcc/cp/cp-tree.h                              |  3 +
 gcc/cp/decl2.cc                               | 11 ++-
 gcc/cp/module.cc                              | 75 ++++++++++++-------
 gcc/cp/pt.cc                                  |  4 +
 gcc/testsuite/g++.dg/modules/gmf-3.C          | 13 ++++
 gcc/testsuite/g++.dg/modules/gmf-4.C          | 27 +++++++
 gcc/testsuite/g++.dg/modules/partial-3.C      | 20 +++++
 .../g++.dg/modules/xtreme-header-8.C          |  9 +++
 gcc/testsuite/g++.dg/modules/xtreme-header.h  | 24 ++++--
 9 files changed, 147 insertions(+), 39 deletions(-)
 create mode 100644 gcc/testsuite/g++.dg/modules/gmf-3.C
 create mode 100644 gcc/testsuite/g++.dg/modules/gmf-4.C
 create mode 100644 gcc/testsuite/g++.dg/modules/partial-3.C
 create mode 100644 gcc/testsuite/g++.dg/modules/xtreme-header-8.C

-- 
2.43.2


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2024-05-01 20:27 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-05-01  9:58 [PATCH 0/4] c++/modules: Fix missed GMF discarding Nathaniel Shead
2024-05-01  9:59 ` [PATCH 1/4] c++/modules: Don't emit unused GMF partial specializations [PR114630] Nathaniel Shead
2024-05-01 15:29   ` Jason Merrill
2024-05-01 10:00 ` [PATCH 2/4] c++/modules: Track module purview for deferred instantiations [PR114630] Nathaniel Shead
2024-05-01 14:11   ` Patrick Palka
2024-05-01 14:27     ` Nathaniel Shead
2024-05-01 15:54       ` Patrick Palka
2024-05-01 18:49         ` Jason Merrill
2024-05-01 19:11           ` Patrick Palka
2024-05-01 20:27             ` Jason Merrill
2024-05-01 15:27     ` Jason Merrill
2024-05-01 10:00 ` [PATCH 3/4] c++/modules: Also track module purview from deferred vtable instantiation [PR114630] Nathaniel Shead
2024-05-01 14:14   ` Patrick Palka
2024-05-01 10:01 ` [PATCH 4/4] c++: Add new xtreme-header testcase for GMF discarding Nathaniel Shead
2024-05-01 15:30   ` Jason Merrill

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