[gcc r15-964] c++/modules: Fix revealing with using-decls [PR114867]

2024-05-31 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:85f15ea65a97686ad39af0c14b7dd9a9372e3a19 commit r15-964-g85f15ea65a97686ad39af0c14b7dd9a9372e3a19 Author: Nathaniel Shead Date: Sat Jun 1 01:14:44 2024 +1000 c++/modules: Fix revealing with using-decls [PR114867] This patch fixes a couple issues

[PATCH v2] c++/modules: Fix revealing with using-decls [PR114867]

2024-05-31 Thread Nathaniel Shead
On Tue, May 28, 2024 at 02:57:09PM -0400, Jason Merrill wrote: > On 5/26/24 09:01, Nathaniel Shead wrote: > > Is this approach OK? Alternatively I suppose we could do a deep copy of > > the overload list when this occurs to ensure we don't affect existing > > referents, wou

[PATCH] c++/modules: Prevent revealing a using-decl affecting cached overloads [PR114867]

2024-05-26 Thread Nathaniel Shead
Log: * name-lookup.cc (do_nonmember_using_decl): Don't remove the existing overload. gcc/testsuite/ChangeLog: * g++.dg/modules/using-17_a.C: New test. * g++.dg/modules/using-17_b.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/name-lookup.cc |

[gcc r15-830] c++/modules: Improve diagnostic when redeclaring builtin in module [PR102345]

2024-05-24 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:28b508233a12c13295f960a2cb8a4864879acfb4 commit r15-830-g28b508233a12c13295f960a2cb8a4864879acfb4 Author: Nathaniel Shead Date: Sat May 25 01:03:54 2024 +1000 c++/modules: Improve diagnostic when redeclaring builtin in module [PR102345] If a user mistakenly

Re: [PATCH] c++/modules: Improve diagnostic when redeclaring builtin in module [PR102345]

2024-05-24 Thread Nathaniel Shead
On Fri, May 24, 2024 at 11:24:38AM -0400, Jason Merrill wrote: > On 5/24/24 11:20, Nathaniel Shead wrote: > > This is just a small improvement to a diagnostic. I thought about also > > adding an inform to suggest something like "standard library headers > > sho

[PATCH] c++/modules: Improve diagnostic when redeclaring builtin in module [PR102345]

2024-05-24 Thread Nathaniel Shead
ith builtin" error. This patch updates the message to include "in module", to help guide the user towards the likely cause. gcc/cp/ChangeLog: * module.cc (module_may_redeclare): Update error message. gcc/testsuite/ChangeLog: * g++.dg/modules/enum-12.C: Test for updated

[gcc r14-10241] c++: Propagate using decls from partitions [PR114868]

2024-05-24 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:782ad2033ea0709a25ef3e899cbb9491406146d5 commit r14-10241-g782ad2033ea0709a25ef3e899cbb9491406146d5 Author: Nathaniel Shead Date: Tue Apr 9 21:49:58 2024 +1000 c++: Propagate using decls from partitions [PR114868] The modules code currently neglects to set

Re: [PATCH][14 backport] c++: Fix instantiation of imported temploid friends [PR114275]

2024-05-24 Thread Nathaniel Shead
On Fri, May 24, 2024 at 09:54:31AM -0400, Jason Merrill wrote: > On 5/24/24 04:06, Nathaniel Shead wrote: > > On Thu, May 23, 2024 at 06:41:06PM -0400, Jason Merrill wrote: > > > On 5/13/24 07:56, Nathaniel Shead wrote: > > > > > > @@ -11751,9 +11767,16 @@ t

[gcc r14-10240] c++: Fix instantiation of imported temploid friends [PR114275]

2024-05-24 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:fd6fd88b1a93f4fb38f095688255ab5c00122810 commit r14-10240-gfd6fd88b1a93f4fb38f095688255ab5c00122810 Author: Nathaniel Shead Date: Mon Apr 29 17:00:13 2024 +1000 c++: Fix instantiation of imported temploid friends [PR114275] This patch fixes a number

[gcc r14-10239] c++: Standardise errors for module_may_redeclare

2024-05-24 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:557cddcc71c9025932b30f1f825dc600a82dfe03 commit r14-10239-g557cddcc71c9025932b30f1f825dc600a82dfe03 Author: Nathaniel Shead Date: Sun Apr 14 23:03:11 2024 +1000 c++: Standardise errors for module_may_redeclare Currently different places calling

[gcc r15-824] c++/modules: Improve errors for bad module-directives [PR115200]

2024-05-24 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:dae606a11eb99814e452b49241fa76f7678f53b8 commit r15-824-gdae606a11eb99814e452b49241fa76f7678f53b8 Author: Nathaniel Shead Date: Fri May 24 00:08:57 2024 +1000 c++/modules: Improve errors for bad module-directives [PR115200] This fixes an ICE when a module

[gcc r15-823] c++/modules: Remember that header units have CMIs

2024-05-24 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:03531ec45f15aa187bbab7842a1eb6cf746a104b commit r15-823-g03531ec45f15aa187bbab7842a1eb6cf746a104b Author: Nathaniel Shead Date: Thu May 23 22:56:52 2024 +1000 c++/modules: Remember that header units have CMIs This appears to be an oversight in the definition

[gcc r15-822] c++/modules: Fix treatment of unnamed types

2024-05-24 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:0173dcce92baa62a74929814a75edb75eeab1a54 commit r15-822-g0173dcce92baa62a74929814a75edb75eeab1a54 Author: Nathaniel Shead Date: Thu May 23 22:50:58 2024 +1000 c++/modules: Fix treatment of unnamed types In r14-9530 we relaxed "depending on

Re: [PATCH][14 backport] c++: Fix instantiation of imported temploid friends [PR114275]

2024-05-24 Thread Nathaniel Shead
On Thu, May 23, 2024 at 06:41:06PM -0400, Jason Merrill wrote: > On 5/13/24 07:56, Nathaniel Shead wrote: > > > > @@ -11751,9 +11767,16 @@ tsubst_friend_class (tree friend_tmpl, tree > > > > args) > > > > if (tmpl != error_mark_node) > > &g

Re: [PATCH 1/2] c++/modules: Fix treatment of unnamed types

2024-05-23 Thread Nathaniel Shead
On Thu, May 23, 2024 at 03:36:48PM -0400, Jason Merrill wrote: > On 5/23/24 09:27, Nathaniel Shead wrote: > > On Mon, May 20, 2024 at 06:00:09PM -0400, Jason Merrill wrote: > > > On 5/17/24 02:14, Nathaniel Shead wrote: > > > > On Tue, May 14, 2024 at 06:21:4

[gcc r15-810] c++/modules: Ensure all partial specialisations are tracked [PR114947]

2024-05-23 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:7fa0ffa4f789683ba80e93cd10546cb7bd2c3d8a commit r15-810-g7fa0ffa4f789683ba80e93cd10546cb7bd2c3d8a Author: Nathaniel Shead Date: Sun May 12 22:31:01 2024 +1000 c++/modules: Ensure all partial specialisations are tracked [PR114947] Constrained partial

[PATCH v2] c++/modules: Improve errors for bad module-directives [PR115200]

2024-05-23 Thread Nathaniel Shead
On Thu, May 23, 2024 at 05:11:39PM -0400, Jason Merrill wrote: > On 5/23/24 10:54, Nathaniel Shead wrote: > > Bootstrapped and regtested (so far just modules.exp and dg.exp) on > > x86_64-pc-linux-gnu, OK for trunk if full regtest succeeds? > > > > -- >8 -- &

[PATCH] c++/modules: Improve errors for bad module-directives [PR115200]

2024-05-23 Thread Nathaniel Shead
ges. * g++.dg/modules/mod-decl-6.C: New test. * g++.dg/modules/mod-decl-7.C: New test. * g++.dg/modules/mod-decl-8.C: New test. * g++.dg/modules/mod-decl-8.h: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/parser.cc |

Re: [PATCH] c++/modules: Ensure all partial specialisations are tracked [PR114947]

2024-05-23 Thread Nathaniel Shead
On Sun, May 12, 2024 at 11:29:39PM +1000, Nathaniel Shead wrote: > Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk? > > -- >8 -- > > Constrained partial specialisations aren't all necessarily tracked on > the instantiation table. The modules

[PATCH 2/2] c++/modules: Remember that header units have CMIs

2024-05-23 Thread Nathaniel Shead
i_p): Update comment. * module.cc (set_defining_module): Only need to track declarations for later exporting if the module may have a CMI. * name-lookup.cc (pushdecl): Likewise. Signed-off-by: Nathaniel Shead --- gcc/cp/cp-tree.h | 7 +++ gcc/cp/module.cc

[PATCH 1/2] c++/modules: Fix treatment of unnamed types

2024-05-23 Thread Nathaniel Shead
On Mon, May 20, 2024 at 06:00:09PM -0400, Jason Merrill wrote: > On 5/17/24 02:14, Nathaniel Shead wrote: > > On Tue, May 14, 2024 at 06:21:48PM -0400, Jason Merrill wrote: > > > On 5/12/24 22:58, Nathaniel Shead wrote: > > > > Bootstrapped and regtested on x86

[gcc r15-762] c++: Strengthen checks on 'main'

2024-05-21 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:292fc21a8d7aa2f16e61ac941e22ada6ddd85500 commit r15-762-g292fc21a8d7aa2f16e61ac941e22ada6ddd85500 Author: Nathaniel Shead Date: Sat May 11 22:25:44 2024 +1000 c++: Strengthen checks on 'main' This patch adds some missing requirements for legal main

Re: [PATCH v2] c++/modules: Remember that header units have CMIs

2024-05-17 Thread Nathaniel Shead
On Fri, May 17, 2024 at 04:14:31PM +1000, Nathaniel Shead wrote: > On Tue, May 14, 2024 at 06:21:48PM -0400, Jason Merrill wrote: > > On 5/12/24 22:58, Nathaniel Shead wrote: > > > Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk? > > > > OK. > &g

[PATCH v2] c++: Strengthen checks on 'main'

2024-05-17 Thread Nathaniel Shead
On Tue, May 14, 2024 at 06:25:29PM -0400, Jason Merrill wrote: > On 5/11/24 08:32, Nathaniel Shead wrote: > > I wasn't entirely sure what to do with the 'abi/main.C' testcase here; > > is this OK, or should I e.g. lower the linkage error to a pedwarn for > > the purposes of th

[PATCH v2] c++/modules: Remember that header units have CMIs

2024-05-17 Thread Nathaniel Shead
On Tue, May 14, 2024 at 06:21:48PM -0400, Jason Merrill wrote: > On 5/12/24 22:58, Nathaniel Shead wrote: > > Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk? > > OK. > I realised as I was looking over this again that I might have spoken too soon with the h

Re: [PATCH] testsuite: c++: Allow for std::printf in g++.dg/modules/stdio-1_a.H [PR98529]

2024-05-13 Thread Nathaniel Shead
On Mon, May 13, 2024 at 01:59:51PM +0200, Rainer Orth wrote: > Hi Nathaniel, > > > On Mon, May 13, 2024 at 10:40:30AM +0200, Rainer Orth wrote: > >> g++.dg/modules/stdio-1_a.H currently FAILs on Solaris: > >> > >> FAIL: g++.dg/modules/stdio-1_a.H -std=c++17 scan-lang-dump module > >> "Depset:0

[PATCH][14 backport] c++: Fix instantiation of imported temploid friends [PR114275]

2024-05-13 Thread Nathaniel Shead
. * g++.dg/modules/tpl-friend-14_b.C: New test. * g++.dg/modules/tpl-friend-14_c.C: New test. * g++.dg/modules/tpl-friend-14_d.C: New test. * g++.dg/modules/tpl-friend-9.C: New test. Signed-off-by: Nathaniel Shead Reviewed-by: Jason Me

Re: [PATCH] testsuite: c++: Allow for std::printf in g++.dg/modules/stdio-1_a.H [PR98529]

2024-05-13 Thread Nathaniel Shead
On Mon, May 13, 2024 at 10:40:30AM +0200, Rainer Orth wrote: > g++.dg/modules/stdio-1_a.H currently FAILs on Solaris: > > FAIL: g++.dg/modules/stdio-1_a.H -std=c++17 scan-lang-dump module "Depset:0 > decl entity:[0-9]* function_decl:'::printf'" > FAIL: g++.dg/modules/stdio-1_a.H -std=c++2a

[PATCH] c++/modules: Remember that header units have CMIs

2024-05-12 Thread Nathaniel Shead
a.H: New test. * g++.dg/modules/linkage-3_b.C: New test. * g++.dg/modules/linkage-3_c.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/cp-tree.h | 2 +- gcc/testsuite/g++.dg/modules/linkage-3_a.H | 19 +++ gcc/testsuite/g++.dg/modu

[PATCH] c++/modules: Ensure all partial specialisations are tracked [PR114947]

2024-05-12 Thread Nathaniel Shead
est. Signed-off-by: Nathaniel Shead --- gcc/cp/cp-tree.h | 1 + gcc/cp/module.cc | 22 ++ gcc/cp/pt.cc | 2 ++ gcc/testsuite/g++.dg/modules/partial-4_a.C | 8 gcc/testsuite/g++.dg/modu

[PATCH] c++: Strengthen checks on 'main'

2024-05-11 Thread Nathaniel Shead
ned-off-by: Nathaniel Shead --- gcc/cp/decl.cc | 19 ++--- gcc/testsuite/g++.dg/abi/main.C | 29 gcc/testsuite/g++.dg/modules/contracts-1_b.C | 4 --- gcc/testsuite/g++.dg/modules/contracts-3_b.C | 4 --- gcc/testsuite/g++

[gcc r14-10182] c++/modules: Stream unmergeable temporaries by value again [PR114856]

2024-05-07 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:61a095b05c244a6e0b1aec36ee1607def00654ab commit r14-10182-g61a095b05c244a6e0b1aec36ee1607def00654ab Author: Nathaniel Shead Date: Tue Apr 30 22:29:57 2024 +1000 c++/modules: Stream unmergeable temporaries by value again [PR114856] In r14-9266-g2823b4d96d9ec4

[gcc r15-310] c++/modules: Stream unmergeable temporaries by value again [PR114856]

2024-05-07 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:e60032b382364897a58e67994baac896bcd03327 commit r15-310-ge60032b382364897a58e67994baac896bcd03327 Author: Nathaniel Shead Date: Tue Apr 30 22:29:57 2024 +1000 c++/modules: Stream unmergeable temporaries by value again [PR114856] In r14-9266-g2823b4d96d9ec4 I

Re: [PATCH] c++/modules: Stream unmergeable temporaries by value again [PR114856]

2024-05-06 Thread Nathaniel Shead
On Thu, May 02, 2024 at 01:53:44PM -0400, Jason Merrill wrote: > On 5/2/24 10:40, Patrick Palka wrote: > > On Thu, 2 May 2024, Nathaniel Shead wrote: > > > > > Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk/14.2? > > > > > > Another alte

[gcc r15-221] c++: Allow IS_FAKE_BASE_TYPE for union types [PR114954]

2024-05-06 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:0c43c673b0d431ca02d83bf6fae9cd60e9a3d0a8 commit r15-221-g0c43c673b0d431ca02d83bf6fae9cd60e9a3d0a8 Author: Nathaniel Shead Date: Mon May 6 13:05:52 2024 +1000 c++: Allow IS_FAKE_BASE_TYPE for union types [PR114954] In some circumstances, unions can also have

[gcc r15-220] c++/modules: Fix dangling pointer with imported_temploid_friends

2024-05-06 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:ec2365e07537e8b17745d75c28a2b45bf33be119 commit r15-220-gec2365e07537e8b17745d75c28a2b45bf33be119 Author: Nathaniel Shead Date: Fri May 3 19:36:17 2024 +1000 c++/modules: Fix dangling pointer with imported_temploid_friends I got notified by Linaro CI

[PATCH] c++: Allow IS_FAKE_BASE_TYPE for union types [PR114954]

2024-05-06 Thread Nathaniel Shead
lso apply to unions. gcc/testsuite/ChangeLog: * g++.dg/modules/pr114954.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/cp-tree.h| 2 +- gcc/testsuite/g++.dg/modules/pr114954.C | 14 ++ 2 files changed, 15 insertions(+), 1 deletion(-) cre

[PATCH v3] c++/modules: Fix dangling pointer with imported_temploid_friends

2024-05-03 Thread Nathaniel Shead
On Thu, May 02, 2024 at 02:05:38PM -0400, Jason Merrill wrote: > On 5/1/24 21:34, Nathaniel Shead wrote: > > On Thu, May 02, 2024 at 12:15:44AM +1000, Nathaniel Shead wrote: > > > On Wed, May 01, 2024 at 09:57:38AM -0400, Patrick Palka wrote: > > > > > > >

[gcc r15-114] c++: Clear is_unbraced_* when parsing declaration_seq_opt [PR114917]

2024-05-02 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:7317d62a1200dbd3685015e5d6b811497a27fe5f commit r15-114-g7317d62a1200dbd3685015e5d6b811497a27fe5f Author: Nathaniel Shead Date: Thu May 2 12:55:24 2024 +1000 c++: Clear is_unbraced_* when parsing declaration_seq_opt [PR114917] Currently we incorrectly retain

[gcc r15-101] c++: Don't emit unused GMF partial specializations [PR114630]

2024-05-02 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:02917ac4528e32d1b2d0da5f45ef5937c56942cd commit r15-101-g02917ac4528e32d1b2d0da5f45ef5937c56942cd Author: Nathaniel Shead Date: Thu Apr 11 19:15:35 2024 +1000 c++: Don't emit unused GMF partial specializations [PR114630] The change in r14-8408 to also emit

[PATCH] c++: Clear is_unbraced_* when parsing declaration_seq_opt [PR114917]

2024-05-01 Thread Nathaniel Shead
a.C: New test. * g++.dg/modules/export-5_b.C: New test. * g++.dg/parse/linkage4.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/parser.cc | 15 +++ gcc/testsuite/g++.dg/modules/export-5_a.C | 17 + gcc/testsuite/g++.dg

[gcc r15-98] c++: Implement modules ABI for vtable emissions

2024-05-01 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:ad30265ccfb211fca35789df2d1404cc12302219 commit r15-98-gad30265ccfb211fca35789df2d1404cc12302219 Author: Nathaniel Shead Date: Tue Apr 16 22:50:26 2024 +1000 c++: Implement modules ABI for vtable emissions This patch implements the changes described

[PATCH v2] c++/modules: Fix dangling pointer with imported_temploid_friends

2024-05-01 Thread Nathaniel Shead
On Thu, May 02, 2024 at 12:15:44AM +1000, Nathaniel Shead wrote: > On Wed, May 01, 2024 at 09:57:38AM -0400, Patrick Palka wrote: > > > > On Wed, 1 May 2024, Nathaniel Shead wrote: > > > > > Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk (and >

[PATCH] c++/modules: Stream unmergeable temporaries by value again [PR114856]

2024-05-01 Thread Nathaniel Shead
temporary_var): Revert to only set context when in a function decl. gcc/testsuite/ChangeLog: * g++.dg/modules/pr114856.h: New test. * g++.dg/modules/pr114856_a.H: New test. * g++.dg/modules/pr114856_b.C: New test. Signed-off-by: Nathaniel Shead --- g

Re: [PATCH 2/4] c++/modules: Track module purview for deferred instantiations [PR114630]

2024-05-01 Thread Nathaniel Shead
On Wed, May 01, 2024 at 10:11:20AM -0400, Patrick Palka wrote: > On Wed, 1 May 2024, Nathaniel Shead wrote: > > > Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk? > > > > -- >8 -- > > > > When calling instantiate_pending_templates a

Re: [PATCH] c++/modules: Fix dangling pointer with imported_temploid_friends

2024-05-01 Thread Nathaniel Shead
On Wed, May 01, 2024 at 09:57:38AM -0400, Patrick Palka wrote: > > On Wed, 1 May 2024, Nathaniel Shead wrote: > > > Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk (and > > later 14.2)? I don't think making it a GTY root is necessary but I felt > > per

[PATCH] c++: Implement modules ABI for vtable emissions

2024-05-01 Thread Nathaniel Shead
ise. * g++.dg/modules/virt-4_a.C: New test. * g++.dg/modules/virt-4_b.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/class.cc | 7 +- gcc/cp/decl.cc | 8 +- gcc/cp/decl2.cc |

[PATCH 4/4] c++: Add new xtreme-header testcase for GMF discarding

2024-05-01 Thread Nathaniel Shead
Log: * g++.dg/modules/xtreme-header.h: Update. * g++.dg/modules/xtreme-header-8.C: New test. Signed-off-by: Nathaniel Shead --- .../g++.dg/modules/xtreme-header-8.C | 9 +++ gcc/testsuite/g++.dg/modules/xtreme-header.h | 24 --- 2 files changed,

[PATCH 3/4] c++/modules: Also track module purview from deferred vtable instantiation [PR114630]

2024-05-01 Thread Nathaniel Shead
ave and restore module_kind. gcc/testsuite/ChangeLog: * g++.dg/modules/gmf-4.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/decl2.cc | 11 +-- gcc/testsuite/g++.dg/modules/gmf-4.C | 27 +++ 2 files changed, 36 insertions(+), 2 deleti

[PATCH 2/4] c++/modules: Track module purview for deferred instantiations [PR114630]

2024-05-01 Thread Nathaniel Shead
vel. (instantiate_pending_templates): Save and restore module_kind so it isn't affected by reopen_tinst_level. gcc/testsuite/ChangeLog: * g++.dg/modules/gmf-3.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/cp-tree.h | 3 +++ gcc/cp/pt.cc | 4

[PATCH 1/4] c++/modules: Don't emit unused GMF partial specializations [PR114630]

2024-05-01 Thread Nathaniel Shead
Log: * g++.dg/modules/partial-3.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/module.cc | 75 +++- gcc/testsuite/g++.dg/modules/partial-3.C | 20 +++ 2 files changed, 66 insertions(+), 29 deletions(-) create mode 100644 gcc/testsuit

[PATCH 0/4] c++/modules: Fix missed GMF discarding

2024-05-01 Thread Nathaniel Shead
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

[gcc r15-85] c++: Propagate using decls from partitions [PR114868]

2024-05-01 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:0d0215b10dbbe39d655ceda4af283f288ec7680c commit r15-85-g0d0215b10dbbe39d655ceda4af283f288ec7680c Author: Nathaniel Shead Date: Tue Apr 9 21:49:58 2024 +1000 c++: Propagate using decls from partitions [PR114868] The modules code currently neglects to set

[gcc r15-86] c++: Propagate hidden flag on decls from partitions

2024-05-01 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:3032ebf0c9b769f02f494e97417a1b68ad59c884 commit r15-86-g3032ebf0c9b769f02f494e97417a1b68ad59c884 Author: Nathaniel Shead Date: Tue Apr 9 21:52:38 2024 +1000 c++: Propagate hidden flag on decls from partitions While working on some other fixes I noticed

[gcc r15-84] c++: Implement P2615 'Meaningful Exports' [PR107688]

2024-04-30 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:79420dd344145819677b3f975bb305a778fcaf91 commit r15-84-g79420dd344145819677b3f975bb305a778fcaf91 Author: Nathaniel Shead Date: Mon Mar 4 23:58:30 2024 +1100 c++: Implement P2615 'Meaningful Exports' [PR107688] This clarifies which kinds of declarations may

[PATCH] c++/modules: Fix dangling pointer with imported_temploid_friends

2024-04-30 Thread Nathaniel Shead
ate from GGC. (trees_in::decl_value): Only write to imported_temploid_friends for new decls. Signed-off-by: Nathaniel Shead --- gcc/cp/module.cc | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc index 5b8ff5bc

Re: [PATCH 2/3] c++/modules: Propagate using decls from partitions

2024-04-30 Thread Nathaniel Shead
On Sun, Apr 14, 2024 at 01:40:18AM +1000, Nathaniel Shead wrote: > On Fri, Apr 12, 2024 at 01:50:47PM -0400, Jason Merrill wrote: > > On 4/11/24 20:40, Nathaniel Shead wrote: > > > Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk? > > > > > > --

[gcc r15-59] c++: Fix instantiation of imported temploid friends [PR114275]

2024-04-30 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:b5f6a56940e70838a07e885de03a92e2bd64674a commit r15-59-gb5f6a56940e70838a07e885de03a92e2bd64674a Author: Nathaniel Shead Date: Mon Apr 29 17:00:13 2024 +1000 c++: Fix instantiation of imported temploid friends [PR114275] This patch fixes a number of issues

[gcc r15-58] c++: Standardise errors for module_may_redeclare

2024-04-30 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:2faf040335f9b49c33ba6d40cf317920f27ce431 commit r15-58-g2faf040335f9b49c33ba6d40cf317920f27ce431 Author: Nathaniel Shead Date: Sun Apr 14 23:03:11 2024 +1000 c++: Standardise errors for module_may_redeclare Currently different places calling

[PATCH v4 2/2] c++: Fix instantiation of imported temploid friends [PR114275]

2024-04-29 Thread Nathaniel Shead
On Fri, Apr 26, 2024 at 09:16:40PM -0400, Jason Merrill wrote: > On 4/19/24 09:29, Nathaniel Shead wrote: > > On Fri, Apr 19, 2024 at 12:14:06PM +1000, Nathaniel Shead wrote: > > > On Wed, Apr 17, 2024 at 02:02:21PM -0400, Patrick Palka wrote: > > > > On Mon, 15 A

[gcc r14-10100] c++: Fix ICE with xobj parms and maybe incomplete decl-specifiers

2024-04-23 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:7318f1a389769ab540f414fcba743e90051d466b commit r14-10100-g7318f1a389769ab540f414fcba743e90051d466b Author: Nathaniel Shead Date: Sat Apr 20 14:44:11 2024 +1000 c++: Fix ICE with xobj parms and maybe incomplete decl-specifiers This fixes a null dereference

[gcc r14-10085] c++: Check if allocation functions are xobj members [PR114078]

2024-04-23 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:cf51fe706ea0219beb5bb85e81606d372ca9635e commit r14-10085-gcf51fe706ea0219beb5bb85e81606d372ca9635e Author: Nathaniel Shead Date: Sat Apr 20 15:08:02 2024 +1000 c++: Check if allocation functions are xobj members [PR114078] A class allocation member function

[PATCH] c++: Check if allocation functions are xobj members [PR114078]

2024-04-20 Thread Nathaniel Shead
ion functions for xobj parameters. gcc/testsuite/ChangeLog: * g++.dg/cpp23/explicit-obj-ops-alloc.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/decl.cc | 6 ++ gcc/testsuite/g++.dg/cpp23/explicit-obj-ops-alloc.C | 11 +++

[PATCH] c++: Fix ICE with xobj parms and maybe incomplete decl-specifiers

2024-04-20 Thread Nathaniel Shead
ite/ChangeLog: * g++.dg/cpp23/explicit-obj-basic7.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/parser.cc | 5 +++-- gcc/testsuite/g++.dg/cpp23/explicit-obj-basic7.C | 9 + 2 files changed, 12 insertions(+), 2 deletions(-) create mode 100

[PATCH v3 2/2] c++: Fix instantiation of imported temploid friends [PR114275]

2024-04-19 Thread Nathaniel Shead
On Fri, Apr 19, 2024 at 12:14:06PM +1000, Nathaniel Shead wrote: > On Wed, Apr 17, 2024 at 02:02:21PM -0400, Patrick Palka wrote: > > On Mon, 15 Apr 2024, Nathaniel Shead wrote: > > > > > I'm not a huge fan of always streaming 'imported_temploid_friends' for > >

Re: [PATCH v2 1/2] c++: Standardise errors for module_may_redeclare

2024-04-19 Thread Nathaniel Shead
On Mon, Apr 15, 2024 at 02:49:35PM +1000, Nathaniel Shead wrote: > I took another look at this patch and have split it into two, one (this > one) to standardise the error messages used and prepare > 'module_may_redeclare' for use with temploid friends, and another > followup patch

Re: [PATCH v2 2/2] c++/modules: Fix instantiation of imported temploid friends [PR114275]

2024-04-18 Thread Nathaniel Shead
On Wed, Apr 17, 2024 at 02:02:21PM -0400, Patrick Palka wrote: > On Mon, 15 Apr 2024, Nathaniel Shead wrote: > > > I'm not a huge fan of always streaming 'imported_temploid_friends' for > > all decls, but I don't think it adds much performance cost over adding a > > new

[gcc r14-9961] c++: Only emit exported GMF usings [PR114600]

2024-04-15 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:3878e9aeb30cb192f769997c52743daf8190744c commit r14-9961-g3878e9aeb30cb192f769997c52743daf8190744c Author: Nathaniel Shead Date: Mon Apr 8 23:34:42 2024 +1000 c++: Only emit exported GMF usings [PR114600] A typo in r14-6978 made us emit too many things

[PATCH v2 2/2] c++/modules: Fix instantiation of imported temploid friends [PR114275]

2024-04-14 Thread Nathaniel Shead
New test. * g++.dg/modules/tpl-friend-13_d.C: New test. * g++.dg/modules/tpl-friend-13_e.C: New test. * g++.dg/modules/tpl-friend-9.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/cp-tree.h | 2 + gcc/cp/decl

[PATCH v2 1/2] c++: Standardise errors for module_may_redeclare

2024-04-14 Thread Nathaniel Shead
ise. * g++.dg/modules/shadow-1_b.C: Likewise. Signed-off-by: Nathaniel Shead --- gcc/cp/cp-tree.h | 2 +- gcc/cp/decl.cc| 28 + gcc/cp/module.cc | 120 ++ gcc/cp/semantics

Re: [PATCH] c++/modules: Setup aliases imported from modules [PR106820]

2024-04-14 Thread Nathaniel Shead
On Fri, Apr 12, 2024 at 03:54:21PM -0400, Jason Merrill wrote: > On 3/26/24 09:24, Nathaniel Shead wrote: > > > > I wonder if more generally we need to be doing more work when importing > > definitions from header units especially to handle all the work that > >

[gcc r14-9959] c++: Setup aliases imported from modules [PR106820]

2024-04-14 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:62a0ef0d02cbb74cd865c1db2ecb7ca1b11f87cd commit r14-9959-g62a0ef0d02cbb74cd865c1db2ecb7ca1b11f87cd Author: Nathaniel Shead Date: Sat Feb 17 23:10:49 2024 +1100 c++: Setup aliases imported from modules [PR106820] I wonder if more generally we need to be doing

Re: [PATCH 2/3] c++/modules: Propagate using decls from partitions

2024-04-13 Thread Nathaniel Shead
On Fri, Apr 12, 2024 at 01:50:47PM -0400, Jason Merrill wrote: > On 4/11/24 20:40, Nathaniel Shead wrote: > > Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk? > > > > -- >8 -- > > > > The modules code currently neglects to set OVL_USING_P on th

[PATCH 3/3] c++/modules: Propagate hidden flag on decls from partitions

2024-04-11 Thread Nathaniel Shead
.dg/modules/using-16_c.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/name-lookup.cc | 10 +- gcc/testsuite/g++.dg/modules/using-16_a.C | 11 +++ gcc/testsuite/g++.dg/modules/using-16_b.C | 12 gcc/testsuite/g++.dg/modules/using-16_c.C |

[PATCH 2/3] c++/modules: Propagate using decls from partitions

2024-04-11 Thread Nathaniel Shead
est. * g++.dg/modules/using-15_c.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/module.cc | 4 gcc/testsuite/g++.dg/modules/using-15_a.C | 13 + gcc/testsuite/g++.dg/modules/using-15_b.C | 5 + gcc/testsuite/g++.dg/modules/using-15_c.C |

[PATCH 1/3] c++/modules: Only emit exported GMF usings [PR114600]

2024-04-11 Thread Nathaniel Shead
ash::add_binding_entity): Require both WMB_Using and WMB_Export for GMF entities. gcc/testsuite/ChangeLog: * g++.dg/modules/using-14.C: New test. Signed-off-by: Nathaniel Shead Co-authored-by: Patrick Palka --- gcc/cp/module.cc| 2 +- gcc/testsuite/g++.dg/modu

[PATCH 0/3] c++/modules: Fix some small issues with exported using-decls

2024-04-11 Thread Nathaniel Shead
to be appropriate. Nathaniel Shead (3): c++: Only emit exported GMF usings [PR114600] c++: Propagate using decls from partitions c++: Propagate hidden flag on decls from partitions gcc/cp/module.cc | 6 +- gcc/cp/name-lookup.cc | 10 +- gcc

Re: [PATCH] c++: Keep DECL_SAVED_TREE of destructor instantiations in modules [PR104040]

2024-04-09 Thread Nathaniel Shead
On Tue, Apr 09, 2024 at 10:28:01AM -0400, Jason Merrill wrote: > On 4/9/24 09:36, Nathaniel Shead wrote: > > On Mon, Apr 08, 2024 at 11:17:27PM -0400, Jason Merrill wrote: > > > On 4/4/24 07:27, Nathaniel Shead wrote: > > > > On Wed, Apr 03, 2024 at 11:18:0

[gcc r14-9883] c++: Keep DECL_SAVED_TREE of cdtor instantiations in modules [PR104040]

2024-04-09 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:0774240b4df9a9bc48ce33a9625788e402498f5a commit r14-9883-g0774240b4df9a9bc48ce33a9625788e402498f5a Author: Nathaniel Shead Date: Fri Mar 29 13:53:54 2024 +1100 c++: Keep DECL_SAVED_TREE of cdtor instantiations in modules [PR104040] A template instantiation

[gcc r14-9881] c++: Track declarations imported from partitions [PR99377]

2024-04-09 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:77c0b5b23f91404004a9bf710981f6d615b63f57 commit r14-9881-g77c0b5b23f91404004a9bf710981f6d615b63f57 Author: Nathaniel Shead Date: Thu Apr 4 23:16:08 2024 +1100 c++: Track declarations imported from partitions [PR99377] The testcase in comment 15 of the linked

Re: [PATCH] c++: Keep DECL_SAVED_TREE of destructor instantiations in modules [PR104040]

2024-04-09 Thread Nathaniel Shead
On Mon, Apr 08, 2024 at 11:17:27PM -0400, Jason Merrill wrote: > On 4/4/24 07:27, Nathaniel Shead wrote: > > On Wed, Apr 03, 2024 at 11:18:01AM -0400, Jason Merrill wrote: > > > On 4/2/24 20:57, Nathaniel Shead wrote: > > > > On Tue, Apr 02, 2024 at 01:18:1

[PATCH v2] c++/modules: Track declarations imported from partitions [PR99377]

2024-04-04 Thread Nathaniel Shead
On Wed, Apr 03, 2024 at 02:16:25PM -0400, Jason Merrill wrote: > On 3/28/24 08:22, Nathaniel Shead wrote: > > Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk? > > > > -- >8 -- > > > > The testcase in comment 15 of the linked PR is caused

Re: [PATCH] c++: Keep DECL_SAVED_TREE of destructor instantiations in modules [PR104040]

2024-04-04 Thread Nathaniel Shead
On Wed, Apr 03, 2024 at 11:18:01AM -0400, Jason Merrill wrote: > On 4/2/24 20:57, Nathaniel Shead wrote: > > On Tue, Apr 02, 2024 at 01:18:17PM -0400, Jason Merrill wrote: > > > On 3/28/24 23:21, Nathaniel Shead wrote: > > > > - && !(modu

Re: [PATCH] c++: Keep DECL_SAVED_TREE of destructor instantiations in modules [PR104040]

2024-04-02 Thread Nathaniel Shead
On Tue, Apr 02, 2024 at 01:18:17PM -0400, Jason Merrill wrote: > On 3/28/24 23:21, Nathaniel Shead wrote: > > Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk? > > > > -- >8 -- > > > > A template instantiation still needs to have its DECL_S

[PATCH] c++: Keep DECL_SAVED_TREE of destructor instantiations in modules [PR104040]

2024-03-28 Thread Nathaniel Shead
est. Signed-off-by: Nathaniel Shead --- gcc/cp/semantics.cc | 7 +-- gcc/testsuite/g++.dg/modules/pr104040_a.C | 14 ++ gcc/testsuite/g++.dg/modules/pr104040_b.C | 8 3 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuit

[PATCH] c++/modules: Prefer partition indexes when installing imported entities [PR99377]

2024-03-28 Thread Nathaniel Shead
g++.dg/modules/pr99377-3_d.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/module.cc | 13 + gcc/testsuite/g++.dg/modules/pr99377-3_a.H | 17 + gcc/testsuite/g++.dg/modules/pr99377-3_b.C | 10 ++ gcc/testsuite/g++.dg/modules/

[PATCH] c++/modules: Setup aliases imported from modules [PR106820]

2024-03-26 Thread Nathaniel Shead
est. Signed-off-by: Nathaniel Shead --- gcc/cp/module.cc | 9 + gcc/testsuite/g++.dg/modules/pr106820_a.H | 5 + gcc/testsuite/g++.dg/modules/pr106820_b.C | 8 3 files changed, 22 insertions(+) create mode 100644 gcc/testsuite/g++.dg/modules/pr106820_

[PATCH] c++/modules: Fix instantiation of imported temploid friends [PR114275]

2024-03-25 Thread Nathaniel Shead
* g++.dg/modules/tpl-friend-13_e.C: New test. * g++.dg/modules/tpl-friend-9.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/cp-tree.h | 3 + gcc/cp/module.cc | 96 +++ gcc/cp/name-lookup

[gcc r14-9530] c++: Fix handling of no-linkage decls for modules

2024-03-18 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:c4845edfeaf44756ad9672e8d143f1c8f5c4c0f6 commit r14-9530-gc4845edfeaf44756ad9672e8d143f1c8f5c4c0f6 Author: Nathaniel Shead Date: Sat Mar 16 22:00:29 2024 +1100 c++: Fix handling of no-linkage decls for modules When testing the changes for PR c++/112631 we

[COMMITTED] testsuite: Fix excess errors for new modules testcases on powerpc [PR114320]

2024-03-18 Thread Nathaniel Shead
320 gcc/testsuite/ChangeLog: * g++.dg/modules/target-powerpc-1_a.C: Suppress -Wpsabi. * g++.dg/modules/target-powerpc-1_b.C: Likewise. Signed-off-by: Nathaniel Shead --- gcc/testsuite/g++.dg/modules/target-powerpc-1_a.C | 2 +- gcc/testsuite/g++.dg/modules/target-powerpc-1_b.C

[gcc r14-9517] testsuite: Fix excess errors for new modules testcases on powerpc [PR114320]

2024-03-18 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:6cb5ef37c2fac240b68d8ee438aba4885956269f commit r14-9517-g6cb5ef37c2fac240b68d8ee438aba4885956269f Author: Nathaniel Shead Date: Sat Mar 16 00:11:25 2024 +1100 testsuite: Fix excess errors for new modules testcases on powerpc [PR114320] On some

[PATCH v3] c++: Fix handling of no-linkage decls for modules

2024-03-16 Thread Nathaniel Shead
On Mon, Mar 11, 2024 at 02:13:34PM -0400, Jason Merrill wrote: > On 3/8/24 18:18, Nathaniel Shead wrote: > > On Fri, Mar 08, 2024 at 10:19:52AM -0500, Jason Merrill wrote: > > > On 3/7/24 21:55, Nathaniel Shead wrote: > > > > On Mon, Nov 27, 2023 at 03:59:39P

[gcc r14-9501] c++: Check module attachment instead of just purview when necessary [PR112631]

2024-03-16 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:ead3075406ece9daaad65a01ae539150aee43f5a commit r14-9501-gead3075406ece9daaad65a01ae539150aee43f5a Author: Nathaniel Shead Date: Tue Mar 12 23:24:27 2024 +1100 c++: Check module attachment instead of just purview when necessary [PR112631] Block-scope

[gcc r14-9439] c++: Support target-specific nodes when streaming modules [PR111224]

2024-03-12 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:4aa87b856067d4911de8fb66b3a27659dc75ca6d commit r14-9439-g4aa87b856067d4911de8fb66b3a27659dc75ca6d Author: Nathaniel Shead Date: Sun Mar 10 22:06:18 2024 +1100 c++: Support target-specific nodes when streaming modules [PR111224] Some targets make use

Re: [PATCH v2] c++: Support target-specific nodes with streaming [PR98645,PR111224]

2024-03-12 Thread Nathaniel Shead
On Tue, Mar 12, 2024 at 11:11:40PM +1100, Nathaniel Shead wrote: > On Mon, Mar 11, 2024 at 10:36:06AM -0400, Patrick Palka wrote: > > On Sun, 10 Mar 2024, Nathaniel Shead wrote: > > > > > Bootstrapped and regtested on x86_64-pc-linux-gnu and > > > aarch6

[PATCH v2] c++: Support target-specific nodes with streaming [PR98645,PR111224]

2024-03-12 Thread Nathaniel Shead
On Mon, Mar 11, 2024 at 10:36:06AM -0400, Patrick Palka wrote: > On Sun, 10 Mar 2024, Nathaniel Shead wrote: > > > Bootstrapped and regtested on x86_64-pc-linux-gnu and > > aarch64-unknown-linux-gnu, OK for trunk? > > > > It's worth noting that the AArch64 ma

[PATCH] c++/modules: Support target-specific nodes with streaming [PR111224]

2024-03-10 Thread Nathaniel Shead
* g++.dg/modules/pr111224_a.C: New test. * g++.dg/modules/pr111224_b.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/module.cc | 70 +++ gcc/testsuite/g++.dg/modules/pr111224_a.C | 17 ++ gcc/testsuite/g++.dg/modules/pr111224_b.C | 13 + 3 f

Re: [PATCH v2] c++: Check module attachment instead of just purview when necessary [PR112631]

2024-03-08 Thread Nathaniel Shead
On Fri, Mar 08, 2024 at 10:19:52AM -0500, Jason Merrill wrote: > On 3/7/24 21:55, Nathaniel Shead wrote: > > On Mon, Nov 27, 2023 at 03:59:39PM +1100, Nathaniel Shead wrote: > > > On Thu, Nov 23, 2023 at 03:03:37PM -0500, Nathan Sidwell wrote: > > > > On 11/20/2

[PATCH v2] c++: Check module attachment instead of just purview when necessary [PR112631]

2024-03-07 Thread Nathaniel Shead
On Mon, Nov 27, 2023 at 03:59:39PM +1100, Nathaniel Shead wrote: > On Thu, Nov 23, 2023 at 03:03:37PM -0500, Nathan Sidwell wrote: > > On 11/20/23 04:47, Nathaniel Shead wrote: > > > Bootstrapped and regtested on x86_64-pc-linux-gnu. I don't have write > > >

[gcc r14-9375] c++: Redetermine whether to write vtables on stream-in [PR114229]

2024-03-07 Thread Nathaniel Shead via Gcc-cvs
https://gcc.gnu.org/g:9ccd03dee4c35a24c6699a58a7251a5277a91cf5 commit r14-9375-g9ccd03dee4c35a24c6699a58a7251a5277a91cf5 Author: Nathaniel Shead Date: Thu Mar 7 23:09:03 2024 +1100 c++: Redetermine whether to write vtables on stream-in [PR114229] We currently always stream

  1   2   3   >