diff options
author | Marek Polacek <polacek@redhat.com> | 2024-09-17 14:34:30 -0400 |
---|---|---|
committer | Marek Polacek <polacek@redhat.com> | 2024-09-17 17:04:20 -0400 |
commit | d6d8445c85509b66a59aa6247ad7b2cfeab17725 (patch) | |
tree | 23072283ba1e3363c7a5ac78e3cc6f7c498eb49c /gcc/tree-ssa-phiopt.cc | |
parent | 7ca486889b1b1c7e7bcbbca3b6caa103294ec07d (diff) | |
download | gcc-d6d8445c85509b66a59aa6247ad7b2cfeab17725.zip gcc-d6d8445c85509b66a59aa6247ad7b2cfeab17725.tar.gz gcc-d6d8445c85509b66a59aa6247ad7b2cfeab17725.tar.bz2 |
c++: fix constexpr cast from void* diag issue [PR116741]
The result of build_fold_indirect_ref can be a COMPONENT_REF in
which case using DECL_SOURCE_LOCATION will crash. Look at its op1
instead.
PR c++/116741
gcc/cp/ChangeLog:
* constexpr.cc (cxx_eval_constant_expression) <case CONVERT_EXPR>: If
the result of build_fold_indirect_ref is a COMPONENT_REF, use its op1.
Check DECL_P before calling inform.
gcc/testsuite/ChangeLog:
* g++.dg/cpp26/constexpr-voidptr4.C: New test.
Reviewed-by: Jason Merrill <jason@redhat.com>
Diffstat (limited to 'gcc/tree-ssa-phiopt.cc')
0 files changed, 0 insertions, 0 deletions