diff options
| author | Marek Polacek <polacek@redhat.com> | 2026-01-28 17:05:46 -0500 |
|---|---|---|
| committer | Marek Polacek <polacek@redhat.com> | 2026-01-30 08:31:43 -0500 |
| commit | f28f4ddcfd59015cc926e215dd53ad447f6bc10f (patch) | |
| tree | 418f3774a315807c0a68c81a0fab3d28d46fefa0 /libstdc++-v3/src | |
| parent | 35d45295f555a4970e98180f4a2f6099f345c363 (diff) | |
| download | gcc-master.zip gcc-master.tar.gz gcc-master.tar.bz2 | |
As discussed in
<https://gcc.gnu.org/pipermail/gcc-patches/2026-January/705756.html>,
we should check TYPE_BEING_DEFINED along with COMPLETE_TYPE_P in
eval_define_aggregate. It seems that with this check added, we don't
need this code anymore:
if (c == type)
{
auto_diagnostic_group d;
error_at (loc, "%<define_aggregate%> evaluated from "
"%<consteval%> block enclosed by %qT being "
"defined", type);
//...
}
so I'm removing that in this patch.
gcc/cp/ChangeLog:
* reflect.cc (eval_define_aggregate): Also give an error when
TYPE_BEING_DEFINED is true for the first argument. Remove code
that did the same.
gcc/testsuite/ChangeLog:
* g++.dg/reflect/define_aggregate3.C: Adjust expected diagnostic.
* g++.dg/reflect/p2996-21.C: Likewise.
Reviewed-by: Jakub Jelinek <jakub@redhat.com>
Reviewed-by: Jason Merrill <jason@redhat.com>
Diffstat (limited to 'libstdc++-v3/src')
0 files changed, 0 insertions, 0 deletions
