aboutsummaryrefslogtreecommitdiff
path: root/gcc/dwarf2ctf.cc
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2025-03-08 16:13:41 +0100
committerThomas Koenig <tkoenig@gcc.gnu.org>2025-03-08 22:47:18 +0100
commit90d9cdfa82d9a8d63e35d928e335719a495c79e3 (patch)
treed745bffa75e7300b3bc058577b5f31ac71532f91 /gcc/dwarf2ctf.cc
parent613f8ddbe3d7da63d827e588bf0333813c184b8a (diff)
downloadgcc-90d9cdfa82d9a8d63e35d928e335719a495c79e3.zip
gcc-90d9cdfa82d9a8d63e35d928e335719a495c79e3.tar.gz
gcc-90d9cdfa82d9a8d63e35d928e335719a495c79e3.tar.bz2
Fix regression with -Wexternal-argument-mismatch.
The attached patch fixes an ICE regresseion where undo state was not handled properly when generating formal from actual arguments, which occurred under certain conditions with the newly introduced -Wexternal-argument-mismatch option. The fix is simple: When we are generating these symbols, we no longer need to undo anything, so we can just remove them. I had considered adding an extra optional argument, but decided against it on code clarity grounds. While looking at the code, I also saw that a member of gfc_symbol introduced with my patch should be a bitfield of width 1. gcc/fortran/ChangeLog: PR fortran/119157 * gfortran.h (gfc_symbol): Make ext_dummy_arglist_mismatch a one-bit bitfield (gfc_pop_undo_symbol): Declare prototype. * symbol.cc (gfc_pop_undo_symbol): New function. * interface.cc (gfc_get_formal_from_actual_arglist): Call it for artificially introduced formal variables. gcc/testsuite/ChangeLog: PR fortran/119157 * gfortran.dg/interface_57.f90: New test.
Diffstat (limited to 'gcc/dwarf2ctf.cc')
0 files changed, 0 insertions, 0 deletions