diff options
author | Bernd Schmidt <bernds@redhat.com> | 2002-07-30 21:48:13 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2002-07-30 21:48:13 +0000 |
commit | 26e20555c3f1ae9ff98fe9566c60df4facbdbe3e (patch) | |
tree | a33a060acdb55e72d33b838b476073e5e1078f88 /gcc | |
parent | 0559cc77522cfd49759e2ac5729cdf9b820cea79 (diff) | |
download | gcc-26e20555c3f1ae9ff98fe9566c60df4facbdbe3e.zip gcc-26e20555c3f1ae9ff98fe9566c60df4facbdbe3e.tar.gz gcc-26e20555c3f1ae9ff98fe9566c60df4facbdbe3e.tar.bz2 |
Fix null pointer crash and a merge error
From-SVN: r55884
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ifcvt.c | 14 |
2 files changed, 8 insertions, 11 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cc50ca8..5158ec0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-07-30 Bernd Schmidt <bernds@redhat.com> + + * 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 <edelsohn@gnu.org> Zack Weinberg <zack@codesourcery.com> diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c index 61dd48d..3ce996f 100644 --- a/gcc/ifcvt.c +++ b/gcc/ifcvt.c @@ -426,17 +426,6 @@ cond_exec_process_if_block (ce_info, do_multiple_p) #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. */ IFCVT_MODIFY_TESTS (ce_info, true_expr, false_expr); /* See if the conversion failed */ @@ -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; |