On 1/25/25 4:12 AM, Jakub Jelinek wrote:
On Fri, Jan 24, 2025 at 07:07:15PM -0500, Jason Merrill wrote:
Hypothetically, but those cases are just either error or DECL_EXTERNAL. In
the error case we're failing anyway; in the external case all the
base/nonbase for a particular structured binding declaration should be
consistent.
So shall I just remove all the prune_vars_needing_no_initialization hunks
then or add gcc_checking_assert (!STATIC_INIT_DECOMP_BASE_P (t) &&
!STATIC_INIT_DECOMP_NONBASE_P (t)); for the DECL_EXTERNAL punt case?
Just the assert sounds good.
Note, unfortunately it is hard to come up with a testcase that actually
prunes something on purpose...
Indeed, it shouldn't be possible.
Jakub