diff options
author | Mikael Morin <mikael@gcc.gnu.org> | 2023-07-17 14:14:18 +0200 |
---|---|---|
committer | Mikael Morin <mikael@gcc.gnu.org> | 2023-07-17 14:14:18 +0200 |
commit | 1a46400e5ac0f21eead74b10752f69ebc7a8be27 (patch) | |
tree | 3c4bddd01951e1d3b4b24a6269ee01e9b2521269 /gcc/fortran/st.cc | |
parent | f60231e35d8d3f84f2ab6b3c19c254faa9519cf4 (diff) | |
download | gcc-1a46400e5ac0f21eead74b10752f69ebc7a8be27.zip gcc-1a46400e5ac0f21eead74b10752f69ebc7a8be27.tar.gz gcc-1a46400e5ac0f21eead74b10752f69ebc7a8be27.tar.bz2 |
fortran: Use pre-evaluated class container if available [PR110618]
Add the possibility to provide a pre-evaluated class container argument
to gfc_add_finalizer to avoid repeatedly evaluating data reference
expressions in the generated code.
PR fortran/110618
gcc/fortran/ChangeLog:
* trans.h (gfc_add_finalizer_call): Add class container argument.
* trans.cc (gfc_add_finalizer_call): Ditto. Pass down new
argument to get_final_proc_ref, get_elem_size, get_var_desc,
and get_vptr.
(get_elem_size): Add class container argument.
Use provided class container if it's available.
(get_var_descr): Same.
(get_vptr): Same.
(get_final_proc_ref): Same. Add boolean telling the class
container argument is used. Set it. Don't try to use
final_wrapper if class container argument was used.
Diffstat (limited to 'gcc/fortran/st.cc')
0 files changed, 0 insertions, 0 deletions