diff options
author | Martin Uecker <uecker@tugraz.at> | 2024-05-18 14:40:02 +0200 |
---|---|---|
committer | Martin Uecker <uecker@tugraz.at> | 2024-05-24 17:01:11 +0200 |
commit | 9f1798c1a93257526196a3c19828e40fb28ac551 (patch) | |
tree | c3d3199b8a3f87e7d2797096262200e8131c3a1f /libcpp | |
parent | dae606a11eb99814e452b49241fa76f7678f53b8 (diff) | |
download | gcc-9f1798c1a93257526196a3c19828e40fb28ac551.zip gcc-9f1798c1a93257526196a3c19828e40fb28ac551.tar.gz gcc-9f1798c1a93257526196a3c19828e40fb28ac551.tar.bz2 |
c: Fix for some variably modified types not being recognized [PR114831]
We did not evaluate expressions with variably modified types correctly
in typeof and did not produce warnings when jumping over declarations
using typeof. After addressof or array-to-pointer decay we construct
new pointer types that have to be marked variably modified if the pointer
target is variably modified.
2024-05-18 Martin Uecker <uecker@tugraz.at>
PR c/114831
gcc/c/
* c-typeck.cc (array_to_pointer_conversion, build_unary_op):
Propagate flag to pointer target.
gcc/testsuite/
* gcc.dg/pr114831-1.c: New test.
* gcc.dg/pr114831-2.c: New test.
* gcc.dg/gnu23-varmod-1.c: New test.
* gcc.dg/gnu23-varmod-2.c: New test.
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions