-
- Downloads
Fix regression causing ICE for structs with VLAs [PR 112488]
A previous patch that fixed several ICEs related to size expressions of VM types (PR c/70418, ...) caused a regression for structs where a DECL_EXPR is not generated anymore although reqired. We now call add_decl_expr introduced by the previous patch from finish_struct. The function is revised with a new argument to not set the TYPE_NAME for the type to the DECL_EXPR in this specific case. PR c/112488 gcc/c * c-decl.cc (add_decl_expr): Revise. (finish_struct): Create DECL_EXPR. * c-parser.cc (c_parser_struct_or_union_specifier): Call finish_struct with expression for VLA sizes. * c-tree.h (finish_struct): Add argument. gcc/testsuite * gcc.dg/pr112488-1.c: New test. * gcc.dg/pr112488-2.c: New test. * gcc.dg/pr112898.c: New test. * gcc.misc-tests/gcov-pr85350.c: Adapt.
Showing
- gcc/c/c-decl.cc 25 additions, 8 deletionsgcc/c/c-decl.cc
- gcc/c/c-parser.cc 1 addition, 1 deletiongcc/c/c-parser.cc
- gcc/c/c-tree.h 2 additions, 1 deletiongcc/c/c-tree.h
- gcc/testsuite/gcc.dg/pr112488-1.c 14 additions, 0 deletionsgcc/testsuite/gcc.dg/pr112488-1.c
- gcc/testsuite/gcc.dg/pr112488-2.c 13 additions, 0 deletionsgcc/testsuite/gcc.dg/pr112488-2.c
- gcc/testsuite/gcc.dg/pr112898.c 9 additions, 0 deletionsgcc/testsuite/gcc.dg/pr112898.c
- gcc/testsuite/gcc.misc-tests/gcov-pr85350.c 1 addition, 1 deletiongcc/testsuite/gcc.misc-tests/gcov-pr85350.c
Loading
Please register or sign in to comment