diff options
author | Harald Anlauf <anlauf@gmx.de> | 2024-08-29 21:21:39 +0200 |
---|---|---|
committer | Harald Anlauf <anlauf@gmx.de> | 2024-08-29 21:21:39 +0200 |
commit | 6bfeba12c86b4d0dae27d99b484f64774dd49398 (patch) | |
tree | 1a4100a5240e63a509cd0822081504d6a2abea0b /gcc/fortran/trans-io.cc | |
parent | 81c47986e1d8efa70a4bd28e8dfc62bfca8e8362 (diff) | |
download | gcc-6bfeba12c86b4d0dae27d99b484f64774dd49398.zip gcc-6bfeba12c86b4d0dae27d99b484f64774dd49398.tar.gz gcc-6bfeba12c86b4d0dae27d99b484f64774dd49398.tar.bz2 |
Fortran: fix ICE with use with rename of namelist member [PR116530]
gcc/fortran/ChangeLog:
PR fortran/116530
* trans-io.cc (transfer_namelist_element): Prevent NULL pointer
dereference.
gcc/testsuite/ChangeLog:
PR fortran/116530
* gfortran.dg/use_rename_12.f90: New test.
Diffstat (limited to 'gcc/fortran/trans-io.cc')
-rw-r--r-- | gcc/fortran/trans-io.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/fortran/trans-io.cc b/gcc/fortran/trans-io.cc index 7ab82fa..c0baa71 100644 --- a/gcc/fortran/trans-io.cc +++ b/gcc/fortran/trans-io.cc @@ -1692,7 +1692,8 @@ transfer_namelist_element (stmtblock_t * block, const char * var_name, gcc_assert (sym || c); /* Build the namelist object name. */ - if (sym && !sym->attr.use_only && sym->attr.use_rename) + if (sym && !sym->attr.use_only && sym->attr.use_rename + && sym->ns->use_stmts->rename) string = gfc_build_cstring_const (sym->ns->use_stmts->rename->local_name); else string = gfc_build_cstring_const (var_name); |