diff options
author | Mikael Morin <mikael@gcc.gnu.org> | 2023-07-17 14:13:58 +0200 |
---|---|---|
committer | Mikael Morin <mikael@gcc.gnu.org> | 2023-07-17 14:13:58 +0200 |
commit | 268fda4b427cc8f24a15ce63031709aadbf3eeb8 (patch) | |
tree | d8d18d6669cee7f4ad0cf3149237011ea7462aad /gcc/fortran | |
parent | ba5e2df515204ddbc52422f17351f93abd159682 (diff) | |
download | gcc-268fda4b427cc8f24a15ce63031709aadbf3eeb8.zip gcc-268fda4b427cc8f24a15ce63031709aadbf3eeb8.tar.gz gcc-268fda4b427cc8f24a15ce63031709aadbf3eeb8.tar.bz2 |
fortran: Inline variable definition
The variable has_finalizer is only used in one place, inline its
definition there.
gcc/fortran/ChangeLog:
* trans.cc (gfc_add_finalizer_call): Inline definition of
variable has_finalizer. Merge nested conditions.
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/trans.cc | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/gcc/fortran/trans.cc b/gcc/fortran/trans.cc index 0753ccd..68e1ca9 100644 --- a/gcc/fortran/trans.cc +++ b/gcc/fortran/trans.cc @@ -1320,7 +1320,6 @@ gfc_add_finalizer_call (stmtblock_t *block, gfc_expr *expr2) tree tmp; gfc_ref *ref; gfc_expr *expr; - bool has_finalizer = false; if (!expr2 || (expr2->ts.type != BT_DERIVED && expr2->ts.type != BT_CLASS)) return false; @@ -1360,13 +1359,11 @@ gfc_add_finalizer_call (stmtblock_t *block, gfc_expr *expr2) ref->next = NULL; } - if (expr->ts.type == BT_CLASS) - { - has_finalizer = gfc_is_finalizable (expr->ts.u.derived, NULL); - - if (!expr2->rank && !expr2->ref && CLASS_DATA (expr2->symtree->n.sym)->as) - expr->rank = CLASS_DATA (expr2->symtree->n.sym)->as->rank; - } + if (expr->ts.type == BT_CLASS + && !expr2->rank + && !expr2->ref + && CLASS_DATA (expr2->symtree->n.sym)->as) + expr->rank = CLASS_DATA (expr2->symtree->n.sym)->as->rank; stmtblock_t tmp_block; gfc_start_block (&tmp_block); @@ -1397,7 +1394,8 @@ gfc_add_finalizer_call (stmtblock_t *block, gfc_expr *expr2) tmp = gfc_finish_block (&tmp_block); - if (expr->ts.type == BT_CLASS && !has_finalizer) + if (expr->ts.type == BT_CLASS + && !gfc_is_finalizable (expr->ts.u.derived, NULL)) { tree cond; gfc_se se; |