X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fdojump.c;h=4337348195533fb4c5804cc869f0bc5ed01e608f;hb=4aba1ac0d8d8d5486ac1ea5791c6378fa02a41ce;hp=e7afb7ef0a8540b02150b82d7bfd3c82beef78d4;hpb=6a2b2394be08730c00bfa05bfe4e319d0ced7ac6;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/dojump.c b/gcc/dojump.c index e7afb7ef0a8..43373481955 100644 --- a/gcc/dojump.c +++ b/gcc/dojump.c @@ -70,7 +70,7 @@ void clear_pending_stack_adjust (void) { if (optimize > 0 - && (! flag_omit_frame_pointer || current_function_calls_alloca) + && (! flag_omit_frame_pointer || cfun->calls_alloca) && EXIT_IGNORE_STACK && ! (DECL_INLINE (current_function_decl) && ! flag_no_inline)) discard_pending_stack_adjust (); @@ -218,8 +218,7 @@ do_jump (tree exp, rtx if_false_label, rtx if_true_label) rtx set_label, clr_label; /* Strip narrowing integral type conversions. */ - while ((TREE_CODE (exp0) == NOP_EXPR - || TREE_CODE (exp0) == CONVERT_EXPR) + while (CONVERT_EXPR_P (exp0) && TREE_OPERAND (exp0, 0) != error_mark_node && TYPE_PRECISION (TREE_TYPE (exp0)) <= TYPE_PRECISION (TREE_TYPE (TREE_OPERAND (exp0, 0))))