diff options
author | Jason Merrill <jason@redhat.com> | 2025-04-15 11:23:57 -0400 |
---|---|---|
committer | Jason Merrill <jason@redhat.com> | 2025-04-15 15:14:57 -0400 |
commit | 628aecb050bbbc4bb0bd4468c474623e20d64e21 (patch) | |
tree | 4af3988ecb402fa1298680ad5c2b71b124b7dcb9 /libjava | |
parent | 7f56a8e8ad1c33d358e9e09fcbaf263c2caba1b9 (diff) | |
download | gcc-628aecb050bbbc4bb0bd4468c474623e20d64e21.zip gcc-628aecb050bbbc4bb0bd4468c474623e20d64e21.tar.gz gcc-628aecb050bbbc4bb0bd4468c474623e20d64e21.tar.bz2 |
c++: constexpr, trivial, and non-alias target [PR111075]
On Darwin and other targets with !can_alias_cdtor, we instead go to
maybe_thunk_ctor, which builds a thunk function that calls the general
constructor. And then cp_fold tries to constant-evaluate that call, and we
ICE because we don't expect to ever be asked to constant-evaluate a call to
a trivial function.
No new test because this fixes g++.dg/torture/tail-padding1.C on affected
targets.
PR c++/111075
gcc/cp/ChangeLog:
* constexpr.cc (cxx_eval_call_expression): Allow trivial
call from a thunk.
Diffstat (limited to 'libjava')
0 files changed, 0 insertions, 0 deletions