* GCC 15.2.1 Status Report (2026-06-05), branch frozen for release
@ 2026-06-05 10:50 Richard Biener
2026-06-05 14:18 ` Jason Merrill
0 siblings, 1 reply; 4+ messages in thread
From: Richard Biener @ 2026-06-05 10:50 UTC (permalink / raw)
To: gcc; +Cc: gcc-patches
Status
======
The gcc-15 branch is now frozen for release, all changes require
release manager approval.
Quality Data
============
Priority # Change from last report
-------- --- -----------------------
P1
P2 589 - 14
P3 216 - 2
P4 231 - 3
P5 22
-------- --- -----------------------
Total P1-P3 805 - 16
Total 1058 - 19
Previous Report
===============
https://gcc.gnu.org/pipermail/gcc/2026-May/248087.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: GCC 15.2.1 Status Report (2026-06-05), branch frozen for release
2026-06-05 10:50 GCC 15.2.1 Status Report (2026-06-05), branch frozen for release Richard Biener
@ 2026-06-05 14:18 ` Jason Merrill
2026-06-05 15:16 ` Jakub Jelinek
0 siblings, 1 reply; 4+ messages in thread
From: Jason Merrill @ 2026-06-05 14:18 UTC (permalink / raw)
To: Richard Biener, gcc; +Cc: gcc-patches
[-- Attachment #1: Type: text/plain, Size: 201 bytes --]
On 6/5/26 6:50 AM, Richard Biener via Gcc wrote:
> Status
> ======
>
> The gcc-15 branch is now frozen for release, all changes require
> release manager approval.
I'd like to apply this reversion:
[-- Attachment #2: 0001-Revert-c-fix-constexpr-union-with-empty-member-PR123.patch --]
[-- Type: text/x-patch, Size: 3435 bytes --]
From 90bff22560c7b64ed846bacbfa946866125bd51c Mon Sep 17 00:00:00 2001
From: Jason Merrill <jason@redhat.com>
Date: Fri, 5 Jun 2026 08:58:25 -0400
Subject: [PATCH] Revert "c++: fix constexpr union with empty member
[PR123346]"
To: gcc-patches@gcc.gnu.org
Revert "c++: constexpr nested empty objects [PR125315]"
This reverts commit 92f35736ebf9c6d24622e129c5ebac71bafcedd5.
This reverts commit 38228ed4281a2a3beb0ac920085861cd300c1d6f.
These changes needed too much follow-on work to feel safe for 15.3/14.4.
---
gcc/cp/constexpr.cc | 23 ++++---------------
.../g++.dg/cpp2a/constexpr-union10.C | 8 -------
.../g++.dg/cpp2a/no_unique_address16.C | 10 --------
3 files changed, 4 insertions(+), 37 deletions(-)
delete mode 100644 gcc/testsuite/g++.dg/cpp2a/constexpr-union10.C
delete mode 100644 gcc/testsuite/g++.dg/cpp2a/no_unique_address16.C
diff --git a/gcc/cp/constexpr.cc b/gcc/cp/constexpr.cc
index 59c1b31fa0b..5adcf0a715b 100644
--- a/gcc/cp/constexpr.cc
+++ b/gcc/cp/constexpr.cc
@@ -5432,22 +5432,8 @@ init_subob_ctx (const constexpr_ctx *ctx, constexpr_ctx &new_ctx,
if (!AGGREGATE_TYPE_P (type) && !VECTOR_TYPE_P (type))
/* A non-aggregate member doesn't get its own CONSTRUCTOR. */
return;
-
- tree ctxtype = NULL_TREE;
- if (ctx->ctor)
- ctxtype = TREE_TYPE (ctx->ctor);
- else if (ctx->object)
- ctxtype = TREE_TYPE (ctx->object);
- else
- {
- /* This can happen if the enclosing object is also an empty subobject
- (c++/125315). */
- gcc_checking_assert (is_empty_class (type));
- return;
- }
-
if (VECTOR_TYPE_P (type)
- && VECTOR_TYPE_P (ctxtype)
+ && VECTOR_TYPE_P (TREE_TYPE (ctx->ctor))
&& index == NULL_TREE)
/* A vector inside of a vector CONSTRUCTOR, e.g. when a larger
vector is constructed from smaller vectors, doesn't get its own
@@ -5466,10 +5452,9 @@ init_subob_ctx (const constexpr_ctx *ctx, constexpr_ctx &new_ctx,
new_ctx.object = build_ctor_subob_ref (index, type, ctx->object);
}
- if (is_empty_class (type)
- && TREE_CODE (ctxtype) != UNION_TYPE)
- /* Leave ctor null for an empty subobject of a non-union class, they aren't
- represented in the result of evaluation. */
+ if (is_empty_class (type))
+ /* Leave ctor null for an empty subobject, they aren't represented in the
+ result of evaluation. */
new_ctx.ctor = NULL_TREE;
else
{
diff --git a/gcc/testsuite/g++.dg/cpp2a/constexpr-union10.C b/gcc/testsuite/g++.dg/cpp2a/constexpr-union10.C
deleted file mode 100644
index 36b0fe8fa1b..00000000000
--- a/gcc/testsuite/g++.dg/cpp2a/constexpr-union10.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// PR c++/123346
-// { dg-do compile { target c++20 } }
-struct Unit {};
-union Union { Unit unit; };
-constexpr Union make(Union&& other) {
- return Union {.unit = other.unit };
-}
-constexpr Union u = make(Union { .unit = Unit{} });
diff --git a/gcc/testsuite/g++.dg/cpp2a/no_unique_address16.C b/gcc/testsuite/g++.dg/cpp2a/no_unique_address16.C
deleted file mode 100644
index 22c0b699f92..00000000000
--- a/gcc/testsuite/g++.dg/cpp2a/no_unique_address16.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// PR c++/125315
-// { dg-do compile { target c++20 } }
-// { dg-prune-output "used but never defined" }
-
-struct S{~S(){}};
-constexpr S& f(S& t);
-struct W{[[no_unique_address]]S v;};
-struct R:W{};
-S s;
-auto x=R{{f(s)}};
--
2.54.0
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: GCC 15.2.1 Status Report (2026-06-05), branch frozen for release
2026-06-05 14:18 ` Jason Merrill
@ 2026-06-05 15:16 ` Jakub Jelinek
2026-06-05 15:19 ` Jason Merrill
0 siblings, 1 reply; 4+ messages in thread
From: Jakub Jelinek @ 2026-06-05 15:16 UTC (permalink / raw)
To: Jason Merrill; +Cc: Richard Biener, gcc, gcc-patches
On Fri, Jun 05, 2026 at 10:18:30AM -0400, Jason Merrill wrote:
> On 6/5/26 6:50 AM, Richard Biener via Gcc wrote:
> > Status
> > ======
> >
> > The gcc-15 branch is now frozen for release, all changes require
> > release manager approval.
>
> I'd like to apply this reversion:
>
> From 90bff22560c7b64ed846bacbfa946866125bd51c Mon Sep 17 00:00:00 2001
> From: Jason Merrill <jason@redhat.com>
> Date: Fri, 5 Jun 2026 08:58:25 -0400
> Subject: [PATCH] Revert "c++: fix constexpr union with empty member
> [PR123346]"
> To: gcc-patches@gcc.gnu.org
>
> Revert "c++: constexpr nested empty objects [PR125315]"
> This reverts commit 92f35736ebf9c6d24622e129c5ebac71bafcedd5.
> This reverts commit 38228ed4281a2a3beb0ac920085861cd300c1d6f.
>
> These changes needed too much follow-on work to feel safe for 15.3/14.4.
Ok, though not sure if it is a good idea to do both reversions in a single
commit, ChangeLog generation might be upset from that.
Jakub
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: GCC 15.2.1 Status Report (2026-06-05), branch frozen for release
2026-06-05 15:16 ` Jakub Jelinek
@ 2026-06-05 15:19 ` Jason Merrill
0 siblings, 0 replies; 4+ messages in thread
From: Jason Merrill @ 2026-06-05 15:19 UTC (permalink / raw)
To: Jakub Jelinek; +Cc: Richard Biener, gcc, gcc-patches
[-- Attachment #1: Type: text/plain, Size: 1153 bytes --]
On Fri, Jun 5, 2026 at 11:16 AM Jakub Jelinek <jakub@redhat.com> wrote:
> On Fri, Jun 05, 2026 at 10:18:30AM -0400, Jason Merrill wrote:
> > On 6/5/26 6:50 AM, Richard Biener via Gcc wrote:
> > > Status
> > > ======
> > >
> > > The gcc-15 branch is now frozen for release, all changes require
> > > release manager approval.
> >
> > I'd like to apply this reversion:
> >
>
> > From 90bff22560c7b64ed846bacbfa946866125bd51c Mon Sep 17 00:00:00 2001
> > From: Jason Merrill <jason@redhat.com>
> > Date: Fri, 5 Jun 2026 08:58:25 -0400
> > Subject: [PATCH] Revert "c++: fix constexpr union with empty member
> > [PR123346]"
> > To: gcc-patches@gcc.gnu.org
> >
> > Revert "c++: constexpr nested empty objects [PR125315]"
> > This reverts commit 92f35736ebf9c6d24622e129c5ebac71bafcedd5.
> > This reverts commit 38228ed4281a2a3beb0ac920085861cd300c1d6f.
> >
> > These changes needed too much follow-on work to feel safe for 15.3/14.4.
>
> Ok, though not sure if it is a good idea to do both reversions in a single
> commit, ChangeLog generation might be upset from that.
>
OK, reverted them separately and pushed.
Jason
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-06-05 15:19 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-05 10:50 GCC 15.2.1 Status Report (2026-06-05), branch frozen for release Richard Biener
2026-06-05 14:18 ` Jason Merrill
2026-06-05 15:16 ` Jakub Jelinek
2026-06-05 15:19 ` 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).