From 26e20555c3f1ae9ff98fe9566c60df4facbdbe3e Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Tue, 30 Jul 2002 21:48:13 +0000 Subject: [PATCH] Fix null pointer crash and a merge error From-SVN: r55884 --- gcc/ChangeLog | 5 +++++ gcc/ifcvt.c | 14 +++----------- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cc50ca838ab..5158ec0a8b6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-07-30 Bernd Schmidt + + * ifcvt.c (cond_exec_process_if_block): Fix a merging error. + Bail out early if false_expr is NULL and we'd crash due to this. + 2002-07-30 David Edelsohn Zack Weinberg diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c index 61dd48d7ce3..3ce996f8edd 100644 --- a/gcc/ifcvt.c +++ b/gcc/ifcvt.c @@ -423,17 +423,6 @@ cond_exec_process_if_block (ce_info, do_multiple_p) else false_expr = NULL_RTX; -#ifdef IFCVT_MODIFY_TESTS - /* If the machine description needs to modify the tests, such as setting a - conditional execution register from a comparison, it can do so here. */ - IFCVT_MODIFY_TESTS (true_expr, false_expr, test_bb, then_bb, else_bb, - join_bb); - - /* See if the conversion failed */ - if (!true_expr || !false_expr) - goto fail; -#endif - #ifdef IFCVT_MODIFY_TESTS /* If the machine description needs to modify the tests, such as setting a conditional execution register from a comparison, it can do so here. */ @@ -460,6 +449,9 @@ cond_exec_process_if_block (ce_info, do_multiple_p) basic_block bb = test_bb; basic_block last_test_bb = ce_info->last_test_bb; + if (! false_expr) + goto fail; + do { rtx start, end; -- 2.30.2