From patchwork Tue Sep 18 18:46:05 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [fortran] Fix an issue found by Coverity scan Date: Tue, 18 Sep 2012 08:46:05 -0000 From: Thomas Koenig X-Patchwork-Id: 184796 Message-Id: <5058C16D.90208@netcologne.de> To: "fortran@gcc.gnu.org" , gcc-patches Hello world, pretty self-explanatory. No test case because there is no change in behavior. OK for trunk? Thomas 2012-09-18 Thomas König PR fortran/54599 * dependency.c (gfc_dep_compare_expr): Clarify logic, remove dead code. Index: dependency.c =================================================================== --- dependency.c (Revision 191342) +++ dependency.c (Arbeitskopie) @@ -395,30 +395,21 @@ gfc_dep_compare_expr (gfc_expr *e1, gfc_expr *e2) l = gfc_dep_compare_expr (e1->value.op.op1, e2->value.op.op1); r = gfc_dep_compare_expr (e1->value.op.op2, e2->value.op.op2); - if (l <= -2) + if (l != 0) return l; - if (l == 0) - { - /* Watch out for 'A ' // x vs. 'A' // x. */ - gfc_expr *e1_left = e1->value.op.op1; - gfc_expr *e2_left = e2->value.op.op1; + /* Left expressions of // compare equal, but + watch out for 'A ' // x vs. 'A' // x. */ + gfc_expr *e1_left = e1->value.op.op1; + gfc_expr *e2_left = e2->value.op.op1; - if (e1_left->expr_type == EXPR_CONSTANT - && e2_left->expr_type == EXPR_CONSTANT - && e1_left->value.character.length - != e2_left->value.character.length) - return -2; - else - return r; - } + if (e1_left->expr_type == EXPR_CONSTANT + && e2_left->expr_type == EXPR_CONSTANT + && e1_left->value.character.length + != e2_left->value.character.length) + return -2; else - { - if (l != 0) - return l; - else - return r; - } + return r; } /* Compare X vs. X-C, for INTEGER only. */