diff options
author | Jason Merrill <jason@redhat.com> | 2023-12-12 19:20:27 -0500 |
---|---|---|
committer | Jason Merrill <jason@redhat.com> | 2023-12-13 11:25:19 -0500 |
commit | e0659b5417b7f8a090ad2ed4dea830f11ef9c877 (patch) | |
tree | 38a497e8c000e47edf6f31e0504b61021e0adae6 /libcpp | |
parent | 958940eb3511e341e57606f5a2f5399bc89533cb (diff) | |
download | gcc-e0659b5417b7f8a090ad2ed4dea830f11ef9c877.zip gcc-e0659b5417b7f8a090ad2ed4dea830f11ef9c877.tar.gz gcc-e0659b5417b7f8a090ad2ed4dea830f11ef9c877.tar.bz2 |
c++: fix in-charge parm in constexpr
I was puzzled by the proposed patch for PR71093 specifically ignoring the
in-charge parameter; the problem turned out to be that when
cxx_eval_call_expression jumps from the clone to the cloned function, it
assumes that the latter has the same parameters, and so the in-charge parm
doesn't get an argument. Since a class with vbases can't have constexpr
'tors there isn't actually a need for an in-charge parameter in a
destructor, but we used to use it for deleting destructors and never removed
it. I have a patch to do that for GCC 15, but for now let's work around it.
gcc/cp/ChangeLog:
* constexpr.cc (cxx_eval_call_expression): Handle missing in-charge
argument.
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions