On Thu, 22 May 2025, Nathaniel Shead wrote: > This patch series adds support for streaming some internal declarations > in C++20 modules that we previously would ICE on.
I like this patch series a lot, thanks for working on it! I can't approve but it looks pretty good to me. > > The series has been successfully bootstrapped and regtested on > x86_64-pc-linux-gnu. Additionally, modules.exp now passes with > '--target_board=unix/-fsanitize=undefined'. > > Nathaniel Shead (4): > c++: Add flag to detect underlying representative of bitfield decls > c++/modules: Implement streaming of uncontexted TYPE_DECLs [PR98735] > c++/modules: Support streaming new size cookie for constexpr > [PR120040] > c++/modules: Avoid name clashes when streaming internal labels > [PR98375,PR118904] > > gcc/cp/constexpr.cc | 2 +- > gcc/cp/cp-gimplify.cc | 5 +- > gcc/cp/init.cc | 10 +- > gcc/cp/module.cc | 170 +++++++++++++++++++-- > gcc/stor-layout.cc | 1 + > gcc/testsuite/g++.dg/modules/pr120040_a.C | 19 +++ > gcc/testsuite/g++.dg/modules/pr120040_b.C | 15 ++ > gcc/testsuite/g++.dg/modules/src-loc-1.h | 6 + > gcc/testsuite/g++.dg/modules/src-loc-1_a.H | 7 + > gcc/testsuite/g++.dg/modules/src-loc-1_b.C | 5 + > gcc/testsuite/g++.dg/modules/src-loc-1_c.C | 16 ++ > gcc/testsuite/g++.dg/modules/ubsan-1_a.C | 10 ++ > gcc/testsuite/g++.dg/modules/ubsan-1_b.C | 14 ++ > gcc/testsuite/g++.dg/ubsan/module-1-aux.cc | 12 ++ > gcc/testsuite/g++.dg/ubsan/module-1.C | 11 ++ > gcc/tree-core.h | 1 + > gcc/tree.cc | 51 +++++++ > gcc/tree.h | 12 ++ > gcc/ubsan.cc | 16 +- > 19 files changed, 350 insertions(+), 33 deletions(-) > create mode 100644 gcc/testsuite/g++.dg/modules/pr120040_a.C > create mode 100644 gcc/testsuite/g++.dg/modules/pr120040_b.C > create mode 100644 gcc/testsuite/g++.dg/modules/src-loc-1.h > create mode 100644 gcc/testsuite/g++.dg/modules/src-loc-1_a.H > create mode 100644 gcc/testsuite/g++.dg/modules/src-loc-1_b.C > create mode 100644 gcc/testsuite/g++.dg/modules/src-loc-1_c.C > create mode 100644 gcc/testsuite/g++.dg/modules/ubsan-1_a.C > create mode 100644 gcc/testsuite/g++.dg/modules/ubsan-1_b.C > create mode 100644 gcc/testsuite/g++.dg/ubsan/module-1-aux.cc > create mode 100644 gcc/testsuite/g++.dg/ubsan/module-1.C > > -- > 2.47.0 > >