https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104321

--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> ---
I think it is not only dead code but it should be also removed:

Glancing at the code, the 'data = NULL;' does not make sense (cf. 'memcpy(lhs,
rhs)' above, lhs is data+offset) – and also does not match the comment.
Besides, all testcases seem to be happy with that line being dead code

Thus, I think the following is the right solution:

diff --git a/gcc/fortran/trans-decl.cc b/gcc/fortran/trans-decl.cc
index 6493cc2f6b1..45ba440c1db 100644
--- a/gcc/fortran/trans-decl.cc
+++ b/gcc/fortran/trans-decl.cc
@@ -7107,5 +7107,2 @@ gfc_conv_cfi_to_gfc (stmtblock_t *init, stmtblock_t
*finally,
       /* if (cond) { block2 }  */
-      tmp = fold_build2_loc (input_location, MODIFY_EXPR, void_type_node,
-                            data, fold_convert (TREE_TYPE (data),
-                                                null_pointer_node));
       tmp = build3_v (COND_EXPR, cond_var, gfc_finish_block (&block2),

Reply via email to