Re: [PATCH] libstdc++: Ensure active union member is correctly set

2023-09-28 Thread Nathaniel Shead
On Wed, Sep 27, 2023 at 03:13:35PM +0100, Jonathan Wakely wrote: > On Sat, 23 Sept 2023 at 08:30, Nathaniel Shead via Libstdc++ > wrote: > > > > On Sat, Sep 23, 2023 at 07:40:48AM +0100, Jonathan Wakely wrote: > > > On Sat, 23 Sept 2023, 01:39 Nathaniel Shead vi

Re: [PATCH] libstdc++: Ensure active union member is correctly set

2023-09-29 Thread Nathaniel Shead
On Fri, Sep 29, 2023 at 04:06:33PM +0100, Jonathan Wakely wrote: > On Fri, 29 Sept 2023 at 10:32, Jonathan Wakely wrote: > > > Thanks for the comments, here's an updated version of the patch. > > > Bootstrapped and regtested on x86_64-pc-linux-gnu. > > > > Great, I'll get this committed today - th

[PATCH v4] c++: Check for indirect change of active union member in constexpr [PR101631,PR102286]

2023-10-08 Thread Nathaniel Shead
* g++.dg/cpp2a/constexpr-union5.C: New test. * g++.dg/cpp2a/constexpr-union6.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/call.cc| 11 +- gcc/cp/class.cc | 8 ++ gcc/cp/constexpr.cc

[PATCH] c++: Improve diagnostics for constexpr cast from void*

2023-10-09 Thread Nathaniel Shead
estsuite/ChangeLog: * g++.dg/cpp0x/constexpr-cast4.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/constexpr.cc | 83 +--- gcc/testsuite/g++.dg/cpp0x/constexpr-cast4.C | 7 ++ 2 files changed, 78 insertions(+), 12 deletions(-) create mod

[PATCH v5] c++: Check for indirect change of active union member in constexpr [PR101631,PR102286]

2023-10-10 Thread Nathaniel Shead
On Mon, Oct 09, 2023 at 04:46:46PM -0400, Jason Merrill wrote: > On 10/8/23 21:03, Nathaniel Shead wrote: > > Ping for > > https://gcc.gnu.org/pipermail/gcc-patches/2023-September/631203.html > > > > + && (TREE_CODE (t) == MODIFY_EXPR > > +

[PATCH v2] c++: Improve diagnostics for constexpr cast from void*

2023-10-10 Thread Nathaniel Shead
On Mon, Oct 09, 2023 at 04:10:20PM -0400, Jason Merrill wrote: > On 10/9/23 06:03, Nathaniel Shead wrote: > > Bootstrapped and regtested on x86_64-pc-linux-gnu with > > GXX_TESTSUITE_STDS=98,11,14,17,20,23,26,impcx. > > > > -- >8 -- > > > > This patch i

[PATCH v6] c++: Check for indirect change of active union member in constexpr [PR101631,PR102286]

2023-10-12 Thread Nathaniel Shead
On Wed, Oct 11, 2023 at 12:48:12AM +1100, Nathaniel Shead wrote: > On Mon, Oct 09, 2023 at 04:46:46PM -0400, Jason Merrill wrote: > > On 10/8/23 21:03, Nathaniel Shead wrote: > > > Ping for > > > https://gcc.gnu.org/pipermail/gcc-patches/2023-September/631203.html >

Re: [PATCH v6] c++: Check for indirect change of active union member in constexpr [PR101631,PR102286]

2023-10-12 Thread Nathaniel Shead
On Thu, Oct 12, 2023 at 04:24:00PM -0400, Jason Merrill wrote: > On 10/12/23 04:53, Nathaniel Shead wrote: > > On Wed, Oct 11, 2023 at 12:48:12AM +1100, Nathaniel Shead wrote: > > > On Mon, Oct 09, 2023 at 04:46:46PM -0400, Jason Merrill wrote: > > > > On 10/8/2

[PATCH] c++: Add missing auto_diagnostic_groups to constexpr.cc

2023-10-17 Thread Nathaniel Shead
ise. (diag_array_subscript): Likewise. (outside_lifetime_error): Likewise. (potential_constant_expression_1): Likewise. Signed-off-by: Nathaniel Shead --- gcc/cp/constexpr.cc | 9 + 1 file changed, 9 insertions(+) diff --git a/gcc/cp/constexpr.cc b/gcc/cp/constexpr.cc index dde4fec4

[PATCH] c++: fix noexcept checking for trivial operations [PR96090]

2023-10-28 Thread Nathaniel Shead
* g++.dg/ext/is_nothrow_constructible8.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/call.cc| 17 ++--- gcc/cp/method.cc | 19 -- gcc/testsuite/g++.dg/cpp0x/noexcept81.C | 36 +++ .../g+

[PATCH] c++: End lifetime of objects in constexpr after destructor call [PR71093]

2023-11-02 Thread Nathaniel Shead
* g++.dg/cpp1y/constexpr-lifetime4.C: Likewise. * g++.dg/cpp2a/bitfield2.C: Likewise. * g++.dg/cpp2a/constexpr-new3.C: Likewise. New check. * g++.dg/cpp1y/constexpr-lifetime7.C: New test. * g++.dg/cpp2a/constexpr-lifetime1.C: New test. * g++.dg/cpp2a/constexpr-li

Re: [PATCH] c++: End lifetime of objects in constexpr after destructor call [PR71093]

2023-11-02 Thread Nathaniel Shead
Oh, this also fixes PR102284 and its other linked PRs (apart from fields); I forgot to note that in the commit. On Fri, Nov 03, 2023 at 12:18:29PM +1100, Nathaniel Shead wrote: > Bootstrapped and regtested on x86-64_pc_linux_gnu. > > I'm not entirely sure if the change I made to ha

[PATCH] c++: Ensure DECL_CONTEXT is set for temporary vars [PR114005]

2024-02-29 Thread Nathaniel Shead
ration. PR c++/114005 gcc/cp/ChangeLog: * init.cc (create_temporary_var): Set DECL_CONTEXT to current_namespace if at namespace scope. gcc/testsuite/ChangeLog: * g++.dg/modules/pr114005_a.C: New test. * g++.dg/modules/pr114005_b.C: New test. Signed-off-by

[PATCH] c++/modules: Stream definitions for implicit instantiations [PR114170]

2024-02-29 Thread Nathaniel Shead
on a template. (module_state::write_inits): Only increment count when initializers are actually written. gcc/testsuite/ChangeLog: * g++.dg/modules/var-tpl-2_a.H: New test. * g++.dg/modules/var-tpl-2_b.C: New test. Signed-off-by: Nathaniel Shead --- gcc

Re: [PATCH] c++/modules: Stream definitions for implicit instantiations [PR114170]

2024-03-01 Thread Nathaniel Shead
On Fri, Mar 01, 2024 at 08:18:09AM -0500, Jason Merrill wrote: > On 2/29/24 20:08, Nathaniel Shead wrote: > > Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk? > > > > -- >8 -- > > > > An implicit instantiation has an initializer depending on w

[PATCH] c++: Don't set DECL_CONTEXT to nested template-template parameters [PR98881]

2024-03-01 Thread Nathaniel Shead
_b.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/module.cc| 17 - gcc/testsuite/g++.dg/modules/tpl-tpl-parm-3_a.H | 11 +++ gcc/testsuite/g++.dg/modules/tpl-tpl-parm-3_b.C | 13 + 3 files changed, 36 insertions(+), 5 de

[PATCH] c++/modules: Support exporting using-decls in same namespace as target

2024-03-03 Thread Nathaniel Shead
linkage types. gcc/testsuite/ChangeLog: * g++.dg/modules/using-12.C: New test. * g++.dg/modules/using-13.h: New test. * g++.dg/modules/using-13_a.C: New test. * g++.dg/modules/using-13_b.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/name-lookup.cc

[PATCH] c++/modules: Implement P2615 'Meaningful Exports' [PR107688]

2024-03-04 Thread Nathaniel Shead
ewise. * g++.dg/modules/lang-1_c.C: Clarify now-legal syntax. * 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/

[PATCH] c++: Fix ICE diagnosing incomplete type of overloaded function set [PR98356]

2024-03-04 Thread Nathaniel Shead
* g++.dg/pr98356.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/typeck2.cc | 11 +-- gcc/testsuite/g++.dg/pr98356.C | 9 + 2 files changed, 14 insertions(+), 6 deletions(-) create mode 100644 gcc/testsuite/g++.dg/pr98356.C diff --git a/gcc/c

Re: [PATCH] c++: Don't set DECL_CONTEXT to nested template-template parameters [PR98881]

2024-03-04 Thread Nathaniel Shead
On Mon, Mar 04, 2024 at 06:01:48PM -0500, Jason Merrill wrote: > On 3/2/24 01:54, Nathaniel Shead wrote: > > Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk? > > > > -- >8 -- > > > > When streaming in a nested template-template parameter as in

Re: [PATCH] c++: Don't set DECL_CONTEXT to nested template-template parameters [PR98881]

2024-03-04 Thread Nathaniel Shead
On Mon, Mar 04, 2024 at 07:14:54PM -0500, Patrick Palka wrote: > On Sat, 2 Mar 2024, Nathaniel Shead wrote: > > > Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk? > > > > -- >8 -- > > > > When streaming in a nested template-template parame

Re: [PATCH] c++: Don't set DECL_CONTEXT to nested template-template parameters [PR98881]

2024-03-04 Thread Nathaniel Shead
On Mon, Mar 04, 2024 at 09:26:00PM -0500, Patrick Palka wrote: > On Tue, 5 Mar 2024, Nathaniel Shead wrote: > > > On Mon, Mar 04, 2024 at 07:14:54PM -0500, Patrick Palka wrote: > > > On Sat, 2 Mar 2024, Nathaniel Shead wrote: > > > > > > > Bootstrappe

Re: [PATCH] c++: Don't set DECL_CONTEXT to nested template-template parameters [PR98881]

2024-03-04 Thread Nathaniel Shead
On Mon, Mar 04, 2024 at 10:07:33PM -0500, Patrick Palka wrote: > On Tue, 5 Mar 2024, Nathaniel Shead wrote: > > > On Mon, Mar 04, 2024 at 09:26:00PM -0500, Patrick Palka wrote: > > > On Tue, 5 Mar 2024, Nathaniel Shead wrote: > > > > > > > On Mon, Mar 0

[PATCH] c++: Fix template deduction for conversion operators with xobj parameters [PR113629]

2024-03-05 Thread Nathaniel Shead
* g++.dg/cpp23/explicit-obj-conv-op.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/pt.cc | 15 +- .../g++.dg/cpp23/explicit-obj-conv-op.C | 49 +++ 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 gc

[PATCH] c++/modules: Prevent emission of really-extern vtables in importers [PR114229]

2024-03-05 Thread Nathaniel Shead
est. * g++.dg/modules/virt-3_c.C: New test. * g++.dg/modules/virt-3_d.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/module.cc| 15 +-- gcc/testsuite/g++.dg/modules/virt-2_c.C | 14 +- gcc/testsuite/g++.dg/modules/virt-3_a

[PATCH v2] c++: Fix template deduction for conversion operators with xobj parameters [PR113629]

2024-03-05 Thread Nathaniel Shead
On Tue, Mar 05, 2024 at 06:19:07PM -0500, Jason Merrill wrote: > On 3/5/24 17:47, Nathaniel Shead wrote: > > Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk? > > > > -- >8 -- > > > > Unification for conversion operators (DEDUCE_CONV) does

[PATCH v2] c++: Redetermine whether to write vtables on stream-in [PR114229]

2024-03-07 Thread Nathaniel Shead
On Wed, Mar 06, 2024 at 08:59:16AM -0500, Jason Merrill wrote: > On 3/5/24 22:06, Nathaniel Shead wrote: > > Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk? > > > > -- >8 -- > > > > Currently, reading a variable definition always marks tha

[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 > >

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] c++/modules: Support target-specific nodes with streaming [PR111224]

2024-03-10 Thread Nathaniel Shead
uite/ChangeLog: * 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/pr1

[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

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

[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

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

2024-03-25 Thread Nathaniel Shead
* 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 | 3 + gcc/cp/module.cc

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

2024-03-26 Thread Nathaniel Shead
/pr106820_b.C: New test. 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++.

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

2024-03-28 Thread Nathaniel Shead
_c.C: New test. * 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/

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

2024-03-28 Thread Nathaniel Shead
New test. 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/tes

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_SAVE

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

[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 bec

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

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

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

2024-04-11 Thread Nathaniel Shead
t doesn't seem 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

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

2024-04-11 Thread Nathaniel Shead
(depset::hash::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

[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 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] c++: Support lambdas attached to FIELD_DECLs in modules [PR111710]

2024-02-10 Thread Nathaniel Shead
g++.dg/modules/lambda-7_a.C: New test. * g++.dg/modules/lambda-7_b.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/cp-tree.h | 23 gcc/cp/module.cc | 70 +++ gcc/testsuite/g++.dg/modules/lambda-7_a.C |

[PATCH 2/1] c++: Also support lambdas attached to TYPE_DECLs in modules

2024-02-10 Thread Nathaniel Shead
y_mergeable): Also support TYPE_DECLs. (maybe_key_decl): Likewise. * parser.cc (cp_parser_class_head): Start a lambda scope when parsing base classes. gcc/testsuite/ChangeLog: * g++.dg/modules/lambda-7_a.C: * g++.dg/modules/lambda-7_b.C: Signed-off-by: Nathaniel Shead ---

Re: [PATCH 2/1] c++: Also support lambdas attached to TYPE_DECLs in modules

2024-02-10 Thread Nathaniel Shead
On Sat, Feb 10, 2024 at 08:01:46PM -0800, Andrew Pinski wrote: > On Sat, Feb 10, 2024 at 7:55 PM 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? > > &

[PATCH] c++/modules: Finalise non-local imported vars [PR113708]

2024-02-11 Thread Nathaniel Shead
gcc/cp/ChangeLog: * module.cc (trees_in::read_var_def): Perform rest of decl compilation on non-local statics. gcc/testsuite/ChangeLog: * g++.dg/modules/init-7_a.H: New test. * g++.dg/modules/init-7_b.C: New test. Signed-off-by: Nathaniel Shead ---

[PATCH] c++: Fix error recovery when redeclaring enum in different module [PR99573]

2024-02-11 Thread Nathaniel Shead
r places this check is done. PR c++/99573 gcc/cp/ChangeLog: * decl.cc (start_enum): Reorder check for redeclaring in module. Add missing auto_diagnostic_groups. gcc/testsuite/ChangeLog: * g++.dg/modules/enum-12.C: New test. Signed-off-by: Nathaniel Shead --- g

Re: [PATCH] c++: Fix error recovery when redeclaring enum in different module [PR99573]

2024-02-13 Thread Nathaniel Shead
On Tue, Feb 13, 2024 at 06:12:51PM -0500, Jason Merrill wrote: > On 2/11/24 21:26, Nathaniel Shead wrote: > > Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk? > > > > -- >8 -- > > > > This ensures that with modules enabled, redeclaring an enum

[PATCH v2] c++: Defer emitting inline variables [PR113708]

2024-02-13 Thread Nathaniel Shead
On Tue, Feb 13, 2024 at 06:08:42PM -0500, Jason Merrill wrote: > On 2/11/24 08:26, Nathaniel Shead wrote: > > > > Currently inline vars imported from modules aren't correctly finalised, > > which means that import_export_decl gets called at the end of TU > > proce

Re: [PATCH v2] c++: Defer emitting inline variables [PR113708]

2024-02-14 Thread Nathaniel Shead
On Tue, Feb 13, 2024 at 09:47:27PM -0500, Jason Merrill wrote: > On 2/13/24 20:34, Nathaniel Shead wrote: > > On Tue, Feb 13, 2024 at 06:08:42PM -0500, Jason Merrill wrote: > > > On 2/11/24 08:26, Nathaniel Shead wrote: > > > > > > > > Currently inline v

[PATCH v2] c++/modules: Support lambdas attached to more places in modules [PR111710]

2024-02-16 Thread Nathaniel Shead
On Tue, Feb 13, 2024 at 07:52:01PM -0500, Jason Merrill wrote: > On 2/10/24 17:57, Nathaniel Shead wrote: > > The fix for PR107398 weakened the restrictions that lambdas must belong > > to namespace scope. However this was not sufficient: we also need to > > allow lambdas ke

[PATCH] c++: Revert deferring emission of inline variables [PR114013]

2024-02-21 Thread Nathaniel Shead
My earlier patch appears to have caused some regressions. I've taken a quick look to see if there are obvious workarounds, but given the time frame and the fact that I still don't really understand all the details of how and when symbols get emitted, I felt it was safer to revert the non-modules pa

[PATCH v3] c++/modules: Support lambdas attached to more places in modules [PR111710]

2024-02-27 Thread Nathaniel Shead
On Tue, Feb 27, 2024 at 11:59:46AM -0500, Patrick Palka wrote: > On Fri, 16 Feb 2024, Nathaniel Shead wrote: > > > On Tue, Feb 13, 2024 at 07:52:01PM -0500, Jason Merrill wrote: > > > On 2/10/24 17:57, Nathaniel Shead wrote: > > > > The fix for PR107398 weakened t

Re: [PATCH v3] c++/modules: Support lambdas attached to more places in modules [PR111710]

2024-02-28 Thread Nathaniel Shead
On Wed, Feb 28, 2024 at 12:34:51PM -0500, Jason Merrill wrote: > On 2/27/24 23:12, Nathaniel Shead wrote: > > On Tue, Feb 27, 2024 at 11:59:46AM -0500, Patrick Palka wrote: > > > On Fri, 16 Feb 2024, Nathaniel Shead wrote: > > > > > > > On Tue, Feb 13,

[PATCH] c++/modules: Support thread_local statics in header modules [PR113292]

2024-01-10 Thread Nathaniel Shead
gcc/testsuite/ChangeLog: * g++.dg/modules/pr113292_a.H: New test. * g++.dg/modules/pr113292_b.C: New test. * g++.dg/modules/pr113292_c.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/decl2.cc | 10 --- gcc/cp/module.cc

[PATCH] c++: Fix ENABLE_SCOPE_CHECKING printing

2024-01-15 Thread Nathaniel Shead
ICEs and confusing output. This patch brings the list into line. gcc/cp/ChangeLog: * name-lookup.cc (cp_binding_level_descriptor): Add missing scope kinds. Signed-off-by: Nathaniel Shead --- gcc/cp/name-lookup.cc | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff -

Re: [PATCH v2] c++: Fix ENABLE_SCOPE_CHECKING printing

2024-01-16 Thread Nathaniel Shead
On Mon, Jan 15, 2024 at 04:04:49PM -0500, Jason Merrill wrote: > On 1/15/24 04:41, Nathaniel Shead wrote: > > While working on another bug, I noticed the ENABLE_SCOPE_CHECKING macro > > and thought to try it out. It caused selftest to ICE. This patch is a > > minimal fix to

Re: [PATCH] c++/modules: Support thread_local statics in header modules [PR113292]

2024-01-16 Thread Nathaniel Shead
On Mon, Jan 15, 2024 at 05:38:25PM -0500, Jason Merrill wrote: > On 1/11/24 01:12, Nathaniel Shead wrote: > > Bootstrapped and regtested on x86_64-pc-linux-gnu. OK for trunk? > > > > -- >8 -- > > > > Currently, thread_locals in header modules cause ICEs. This

Re: [PATCH v2] c++/modules: Differentiate extern templates and TYPE_DECL_SUPPRESS_DEBUG [PR112820]

2024-01-16 Thread Nathaniel Shead
On Mon, Jan 15, 2024 at 06:10:55PM -0500, Jason Merrill wrote: > On 1/8/24 10:27, Patrick Palka wrote: > > On Mon, 8 Jan 2024, Nathaniel Shead wrote: > > > On Thu, Jan 04, 2024 at 03:39:15PM -0500, Patrick Palka wrote: > > > > On Sun, 3 Dec 2023, Nathaniel Shead w

[PATCH v3] c++/modules: Fix handling of extern templates in modules [PR112820]

2024-01-16 Thread Nathaniel Shead
+.dg/modules/debug-2_b.C: New test. * g++.dg/modules/debug-2_c.C: New test. * g++.dg/modules/debug-3_a.C: New test. * g++.dg/modules/debug-3_b.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/module.cc | 36 +--- gcc/testsuite/g++

[PATCH] testsuite: Disable test for PR113292 on targets without TLS support

2024-01-18 Thread Nathaniel Shead
estsuite/ChangeLog: * g++.dg/modules/pr113292_c.C: Require TLS. Signed-off-by: Nathaniel Shead --- gcc/testsuite/g++.dg/modules/pr113292_c.C | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gcc/testsuite/g++.dg/modules/pr113292_c.C b/gcc/testsuite/g++.dg/modules/pr113292_c

[PATCH] c++/modules: Handle partial specialisations in GMF [PR113405]

2024-01-19 Thread Nathaniel Shead
g++.dg/modules/concept-9_b.C: New test. * g++.dg/modules/concept-10_a.H: New test. * g++.dg/modules/concept-10_b.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/module.cc| 5 - gcc/testsuite/g++.dg/modules/concept-10_a.H | 25 +++

[PATCH v3] c++/modules: Emit definitions of ODR-used static members imported from modules [PR112899]

2024-01-20 Thread Nathaniel Shead
On Fri, Jan 19, 2024 at 01:57:18PM -0500, Patrick Palka wrote: > On Wed, 3 Jan 2024, Nathaniel Shead wrote: > > > Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk? > > > > -- >8 -- > > > > Static data members marked 'inline' sho

[PATCH] c++: Fix importing nested namespace declarations [PR100707]

2024-01-20 Thread Nathaniel Shead
-4_b.C: Likewise. * g++.dg/modules/indirect-4_c.C: Likewise. * g++.dg/modules/namespace-5_a.C: New test. * g++.dg/modules/namespace-5_b.C: New test. * g++.dg/modules/namespace-5_c.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/name-lookup.cc

Re: [PATCH v3] c++/modules: Fix handling of extern templates in modules [PR112820]

2024-01-22 Thread Nathaniel Shead
On Wed, Jan 17, 2024 at 10:51:16AM -0500, Jason Merrill wrote: > On 1/17/24 01:33, Nathaniel Shead wrote: > > On Mon, Jan 15, 2024 at 06:10:55PM -0500, Jason Merrill wrote: > > > Under what circumstances does it make sense for CLASSTYPE_INTERFACE_ONLY > > > to >

[PATCH v4] c++/modules: Emit definitions of ODR-used static members imported from modules [PR112899]

2024-01-25 Thread Nathaniel Shead
On Wed, Jan 24, 2024 at 03:24:42PM -0500, Jason Merrill wrote: > On 1/20/24 05:45, Nathaniel Shead wrote: > > I also included > > your change to only add class variable templates to 'pending_statics' > > (and the normal 'static_decl's for non-class otherwi

[PATCH] c++/modules: Stream additional fields for DECL_STRUCT_FUNCTION [PR113580]

2024-01-26 Thread Nathaniel Shead
::read_cluster): Write flags into cfun. gcc/testsuite/ChangeLog: * g++.dg/modules/pr113580_a.C: New test. * g++.dg/modules/pr113580_b.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/module.cc | 47 ++- gcc/testsuite/g++.dg/modules/

[PATCH] c++/modules: Handle error header names in modules [PR107594]

2024-01-27 Thread Nathaniel Shead
Signed-off-by: Nathaniel Shead --- gcc/cp/module.cc | 6 ++ 1 file changed, 6 insertions(+) diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc index 840c7ef6dab..3c2fef0e3f4 100644 --- a/gcc/cp/module.cc +++ b/gcc/cp/module.cc @@ -14050,6 +14050,12 @@ get_primary (module_state *parent) module_state

[PATCH] c++: Fix unchecked use of CLASSTYPE_AS_BASE [PR113031]

2023-12-15 Thread Nathaniel Shead
): Check for CLASS_TYPE before using CLASSTYPE_AS_BASE. gcc/testsuite/ChangeLog: * g++.dg/cpp0x/pr113031.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/constexpr.cc | 3 ++- gcc/testsuite/g++.dg/cpp0x/pr113031.C | 34 +++ 2 files chang

Re: [PATCH] c++/modules: seed namespaces for bindings [PR106363]

2023-12-16 Thread Nathaniel Shead
Ping for https://gcc.gnu.org/pipermail/gcc-patches/2023-November/636159.html On Sun, Nov 12, 2023 at 12:59:36PM +1100, Nathaniel Shead wrote: > Bootstrapped and regtested on x86_64-pc-linux-gnu. I don't have write > access. > > -- >8 -- > > Currently the first depse

[PATCH] c++/modules: Prevent overwriting arguments when merging duplicates [PR112588]

2023-12-16 Thread Nathaniel Shead
Ping for https://gcc.gnu.org/pipermail/gcc-patches/2023-November/637768.html. (I've changed the summary message a little from that email but the patch is otherwise unchanged.) On Wed, Nov 22, 2023 at 10:33:15PM +1100, Nathaniel Shead wrote: > Bootstrapped and regtested on x86_64-pc-linu

[PATCH v2] c++: Follow module grammar more closely [PR110808]

2023-12-16 Thread Nathaniel Shead
Ping for https://gcc.gnu.org/pipermail/gcc-patches/2023-November/638089.html On Fri, Nov 24, 2023 at 10:32:13PM +1100, Nathaniel Shead wrote: > On Thu, Nov 23, 2023 at 12:11:58PM -0500, Nathan Sidwell wrote: > > On 11/14/23 01:24, Nathaniel Shead wrote: > > > I'll also

[PATCH] c++: Check null pointer deref when calling memfn in constexpr [PR102420]

2023-12-17 Thread Nathaniel Shead
ite/ChangeLog: * g++.dg/cpp0x/constexpr-memfn2.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/constexpr.cc | 17 + gcc/testsuite/g++.dg/cpp0x/constexpr-memfn2.C | 10 ++ 2 files changed, 27 insertions(+) create mode 100644 gcc/testsui

Re: [PATCH] c++: Check null pointer deref when calling memfn in constexpr [PR102420]

2023-12-19 Thread Nathaniel Shead
On Mon, Dec 18, 2023 at 01:32:58PM -0500, Jason Merrill wrote: > On 12/17/23 16:51, Nathaniel Shead wrote: > > Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk? > > > > An alternative approach for the lambda issue would be to modify > > 'maybe_add_la

c++/modules: Emit definitions of ODR-used static members imported from modules [PR112899]

2024-01-02 Thread Nathaniel Shead
test. * g++.dg/modules/init-4_b.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/cp-tree.h| 2 +- gcc/cp/decl2.cc | 4 ++-- gcc/cp/module.cc| 4 gcc/cp/pt.cc| 2 +- gcc/testsu

[PATCH] c++/modules: Fix ICE when writing nontrivial variable initializers

2024-01-02 Thread Nathaniel Shead
eLog: * g++.dg/modules/init-5_a.C: New test. * g++.dg/modules/init-5_b.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/module.cc| 3 ++- gcc/testsuite/g++.dg/modules/init-5_a.C | 9 + gcc/testsuite/g++.dg/modules/init-5_b.C | 10 +

[PATCH] c++/modules: Emit definitions of ODR-used static members imported from modules [PR112899]

2024-01-02 Thread Nathaniel Shead
(Whoops, forgot the '[PATCH]', fixed the subject in email.) On Wed, Jan 03, 2024 at 09:40:55AM +1100, Nathaniel Shead wrote: > Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk? > > -- >8 -- > > Static data members marked 'inline' should be em

Re: [PATCH] c++/modules: Prevent overwriting arguments when merging duplicates [PR112588]

2024-01-02 Thread Nathaniel Shead
Ping for https://gcc.gnu.org/pipermail/gcc-patches/2023-November/637768.html. On Sat, Dec 16, 2023 at 09:50:10PM +1100, Nathaniel Shead wrote: > Ping for https://gcc.gnu.org/pipermail/gcc-patches/2023-November/637768.html. > (I've changed the summary message a little from that email bu

Re: [PATCH v2] c++: Follow module grammar more closely [PR110808]

2024-01-02 Thread Nathaniel Shead
Ping for https://gcc.gnu.org/pipermail/gcc-patches/2023-November/638089.html. On Fri, Nov 24, 2023 at 10:32:13PM +1100, Nathaniel Shead wrote: > On Thu, Nov 23, 2023 at 12:11:58PM -0500, Nathan Sidwell wrote: > > On 11/14/23 01:24, Nathaniel Shead wrote: > > > I'll also

Re: [PATCH] c++/modules: Prevent treating suppressed debug info as extern template [PR112820]

2024-01-02 Thread Nathaniel Shead
Ping for https://gcc.gnu.org/pipermail/gcc-patches/2023-December/639082.html. On Sun, Dec 03, 2023 at 11:46:36PM +1100, Nathaniel Shead wrote: > Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk? > > -- >8 -- > > The TYPE_DECL_SUPPRESS_DEBUG and DECL_EXTERNAL

[PATCH] c++: Export usings referring to global module fragment [PR109679]

2024-01-03 Thread Nathaniel Shead
g/modules/using-11_b.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/module.cc | 6 -- gcc/testsuite/g++.dg/modules/using-11.h | 2 ++ gcc/testsuite/g++.dg/modules/using-11_a.C | 9 + gcc/testsuite/g++.dg/modules/using-11_b.C | 8 4 files c

[PATCH v2] c++/modules: Emit definitions of ODR-used static members imported from modules [PR112899]

2024-01-03 Thread Nathaniel Shead
+.dg/modules/init-4_a.C: New test. * g++.dg/modules/init-4_b.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/cp-tree.h| 2 +- gcc/cp/decl2.cc | 4 ++-- gcc/cp/module.cc| 5 + gcc/cp/pt.cc

Re: c++/modules: Emit definitions of ODR-used static members imported from modules [PR112899]

2024-01-04 Thread Nathaniel Shead
On Thu, Jan 04, 2024 at 03:31:50PM -0500, Jason Merrill wrote: > On 1/2/24 17:40, Nathaniel Shead wrote: > > Static data members marked 'inline' should be emitted in TUs where they > > are ODR-used. We need to make sure that statics imported from modules >

Re: c++/modules: Emit definitions of ODR-used static members imported from modules [PR112899]

2024-01-04 Thread Nathaniel Shead
On Thu, Jan 04, 2024 at 05:42:34PM -0500, Jason Merrill wrote: > On 1/4/24 17:24, Nathaniel Shead wrote: > > On Thu, Jan 04, 2024 at 03:31:50PM -0500, Jason Merrill wrote: > > > On 1/2/24 17:40, Nathaniel Shead wrote: > > > > Static data members marked 'inline&#

Re: [PATCH] c++/modules: Prevent overwriting arguments for duplicates [PR112588]

2024-01-07 Thread Nathaniel Shead
I took a bit of a closer look and this is actually a regression, seeming to start with r13-3134-g09df0d8b14dda6. I haven't looked more closely at the actual change though to see whether this implies a different fix yet though. Nathaniel > On 11/22/23 06:33, Nathaniel Shead wrote: > &g

[PATCH v2] c++/modules: Differentiate extern templates and TYPE_DECL_SUPPRESS_DEBUG [PR112820]

2024-01-08 Thread Nathaniel Shead
On Thu, Jan 04, 2024 at 03:39:15PM -0500, Patrick Palka wrote: > On Sun, 3 Dec 2023, Nathaniel Shead wrote: > > > Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk? > > > > -- >8 -- > > > > The TYPE_DECL_SUPPRESS_DEBUG and DECL_EXTERNAL flag

[PATCH] c++/modules: Prevent treating suppressed debug info as extern template [PR112820]

2023-12-03 Thread Nathaniel Shead
bug-2_a.C: New test. * g++.dg/modules/debug-2_b.C: New test. * g++.dg/modules/debug-2_c.C: New test. * g++.dg/modules/debug-3_a.C: New test. * g++.dg/modules/debug-3_b.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/module.cc | 4 +++-

Re: [PATCH] c++: fix noexcept checking for trivial operations [PR96090]

2023-12-10 Thread Nathaniel Shead
On Sat, Dec 09, 2023 at 03:40:44PM -0500, Jason Merrill wrote: > On 11/27/23 06:07, Nathaniel Shead wrote: > > Ping for https://gcc.gnu.org/pipermail/gcc-patches/2023-October/634626.html. > > > > I've been made aware since constructing this patch of CWG2820, which has

[PATCH] c++/modules: fix virtual destructors [PR103499]

2023-11-09 Thread Nathaniel Shead
eLog: * g++.dg/modules/pr103499_a.C: New test. * g++.dg/modules/pr103499_b.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/module.cc | 6 ++ gcc/testsuite/g++.dg/modules/pr103499_a.C | 12 gcc/testsuite/g++.dg/modules/pr103499_b.C

[PATCH] c++/modules: handle templates in exported using-declarations [PR106849]

2023-11-09 Thread Nathaniel Shead
ote. PR c++/106849 gcc/cp/ChangeLog: * name-lookup.cc (do_nonmember_using_decl): Handle TEMPLATE_DECLs when checking module attachment. gcc/testsuite/ChangeLog: * g++.dg/modules/using-9.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/name-lookup

Re: [PATCH] c++/modules: fix virtual destructors [PR103499]

2023-11-09 Thread Nathaniel Shead
On Thu, Nov 09, 2023 at 05:57:39PM -0500, Nathan Sidwell wrote: > On 11/9/23 04:55, Nathaniel Shead wrote: > > I'm not sure if this is just papering over a general issue of clones not > > being > > exported/imported, or if this is just an exception to the general case o

[PATCH] c++/modules: more checks for exporting names with using-declarations

2023-11-10 Thread Nathaniel Shead
ngeLog: * name-lookup.cc (check_can_export_using_decl): New. (do_nonmember_using_decl): Use above to check if names can be exported. gcc/testsuite/ChangeLog: * g++.dg/modules/using-10.C: New test. * g++.dg/modules/using-enum-2.C: New test. Signed-off-by: Nathaniel

[PATCH] c++/modules: seed namespaces for bindings [PR106363]

2023-11-11 Thread Nathaniel Shead
le_state::write_cluster): Don't skip first depset for bindings. gcc/testsuite/ChangeLog: * g++.dg/modules/pr106363_a.C: New test. * g++.dg/modules/pr106363_b.C: New test. Signed-off-by: Nathaniel Shead --- gcc/cp/module.cc | 4 +---

[PATCH] c++/modules: check mismatching exports for class tags [PR98885]

2023-11-12 Thread Nathaniel Shead
heck exporting decl that is already declared as non-exporting. gcc/testsuite/ChangeLog: * g++.dg/modules/export-1.C: Adjust error messages. Remove xfails for working case. Add new test case. Signed-off-by: Nathaniel Shead --- gcc/cp/decl.cc | 21

[PATCH 2/1] c++/modules: Allow exporting a typedef redeclaration

2023-11-12 Thread Nathaniel Shead
decl.cc (duplicate_decls): Allow exporting a redeclaration of a typedef. gcc/testsuite/ChangeLog: * g++.dg/modules/export-1.C: Adjust test. Signed-off-by: Nathaniel Shead --- gcc/cp/decl.cc | 5 - gcc/testsuite/g++.dg/modules/export-1.C | 6 +- 2 files

  1   2   3   4   5   >