diff options
author | Simon Martin <simon@nasilyan.com> | 2024-10-02 15:32:37 +0200 |
---|---|---|
committer | Simon Martin <simon@nasilyan.com> | 2024-10-02 15:32:37 +0200 |
commit | 3a528386571fffbb41703a238aee950043af3f3c (patch) | |
tree | c52ccd903c80108e3aed4f73167bbba76ecdefd2 /gcc/tree-if-conv.cc | |
parent | dafbfdb01559092aca6be0e31afc2b39d3fdb2dd (diff) | |
download | gcc-3a528386571fffbb41703a238aee950043af3f3c.zip gcc-3a528386571fffbb41703a238aee950043af3f3c.tar.gz gcc-3a528386571fffbb41703a238aee950043af3f3c.tar.bz2 |
c++: Fix regression introduced by r15-3796 [PR116722]
Jason pointed out that the fix I made for PR116722 via r15-3796
introduces a regression when running constexpr-dynamic10.C with
-fimplicit-constexpr.
The problem is that my change makes us leave cxx_eval_call_expression
early, and bypass the call to cxx_eval_thunk_call (through a recursive
call to cxx_eval_call_expression) that used to emit an error for that
testcase with -fimplicit-constexpr.
This patch emits the error if !ctx->quiet before bailing out because the
{con,de}structor belongs to a class with virtual bases.
PR c++/116722
gcc/cp/ChangeLog:
* constexpr.cc (cxx_bind_parameters_in_call): When !ctx->quiet,
emit error before bailing out due to a call to {con,de}structor
for a class with virtual bases.
Diffstat (limited to 'gcc/tree-if-conv.cc')
0 files changed, 0 insertions, 0 deletions