diff options
author | Jason Merrill <jason@redhat.com> | 2025-03-19 05:15:00 -0400 |
---|---|---|
committer | Jason Merrill <jason@redhat.com> | 2025-03-19 17:58:23 -0400 |
commit | 80e1dac3849b134ebd5e0151e9c9e4b8b091de72 (patch) | |
tree | 37343b646cff006767d99761f6905ad26a919d62 /libjava/javax/swing/JFrame$AccessibleJFrame.h | |
parent | e3b3290f7330a81176d3d5d7c77623cd6c4bc70c (diff) | |
download | gcc-80e1dac3849b134ebd5e0151e9c9e4b8b091de72.zip gcc-80e1dac3849b134ebd5e0151e9c9e4b8b091de72.tar.gz gcc-80e1dac3849b134ebd5e0151e9c9e4b8b091de72.tar.bz2 |
c++: mangling of array new [PR119316]
Because we build an array type to represent an array new, we hit a VLA
error in compute_array_index_type for a variable length array new. To avoid
this, let's build the MINUS_EXPR and index type directly.
I also noticed that the non-constant case in write_array_type was assuming
MINUS_EXPR without verifying it, so I added a checking_assert.
I also noticed that Clang doesn't mangle the length of an array new at all,
so I opened https://github.com/itanium-cxx-abi/cxx-abi/issues/199 to clarify
this.
PR c++/119316
gcc/cp/ChangeLog:
* mangle.cc (write_expression) [NEW_EXPR]: Avoid using
compute_array_index_type.
(write_array_type): Add checking_assert.
gcc/testsuite/ChangeLog:
* g++.dg/abi/mangle-new1.C: New test.
Diffstat (limited to 'libjava/javax/swing/JFrame$AccessibleJFrame.h')
0 files changed, 0 insertions, 0 deletions