diff options
author | Paolo Bonzini <bonzini@gnu.org> | 2009-07-01 11:50:12 +0000 |
---|---|---|
committer | Paolo Bonzini <bonzini@gcc.gnu.org> | 2009-07-01 11:50:12 +0000 |
commit | ce3aea3586776ef0f7a1cb4fd4db01ee472068c4 (patch) | |
tree | 594dec40197069e4143cbff49ccb32a6e5762715 /gcc | |
parent | c29fe0c8bd7791edd60280ebb79880e97cb025c1 (diff) | |
download | gcc-ce3aea3586776ef0f7a1cb4fd4db01ee472068c4.zip gcc-ce3aea3586776ef0f7a1cb4fd4db01ee472068c4.tar.gz gcc-ce3aea3586776ef0f7a1cb4fd4db01ee472068c4.tar.bz2 |
expr.c (expand_expr_real_1): Reinstate fallthrough to TRUTH_ANDIF_EXPR if do_store_flag returns NULL.
2009-07-01 Paolo Bonzini <bonzini@gnu.org>
* expr.c (expand_expr_real_1): Reinstate fallthrough to
TRUTH_ANDIF_EXPR if do_store_flag returns NULL.
From-SVN: r149136
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/expr.c | 7 |
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0b58daf..5e0e00d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-07-01 Paolo Bonzini <bonzini@gnu.org> + + * expr.c (expand_expr_real_1): Reinstate fallthrough to + TRUTH_ANDIF_EXPR if do_store_flag returns NULL. + 2009-07-01 Maciej W. Rozycki <macro@linux-mips.org> * config/vax/vax.h (TARGET_BSD_DIVMOD): New macro. Set to 1. @@ -9109,8 +9109,11 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, temp = do_store_flag (exp, modifier != EXPAND_STACK_PARM ? target : NULL_RTX, tmode != VOIDmode ? tmode : mode); - gcc_assert (temp); - return temp; + if (temp) + return temp; + + /* Use a compare and a jump for BLKmode comparisons, or for function + type comparisons is HAVE_canonicalize_funcptr_for_compare. */ /* Although TRUTH_{AND,OR}IF_EXPR aren't present in GIMPLE, they are occassionally created by folding during expansion. */ |