diff options
| author | bonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-07-01 11:50:12 +0000 |
|---|---|---|
| committer | bonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-07-01 11:50:12 +0000 |
| commit | 7dbdd9835e56cf65b7bbf7e8e9f9fbc52776e431 (patch) | |
| tree | 594dec40197069e4143cbff49ccb32a6e5762715 | |
| parent | 41bda10299710395a712339ab597526e8bc7d85e (diff) | |
| download | ppe42-gcc-7dbdd9835e56cf65b7bbf7e8e9f9fbc52776e431.tar.gz ppe42-gcc-7dbdd9835e56cf65b7bbf7e8e9f9fbc52776e431.zip | |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149136 138bc75d-0d04-0410-961f-82ee72b054a4
| -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 0b58daf36c5..5e0e00d94c3 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. diff --git a/gcc/expr.c b/gcc/expr.c index d390b0a2cd0..b3cd2b14f73 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -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. */ |

