diff options
Diffstat (limited to 'gcc/objc')
-rw-r--r-- | gcc/objc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/objc/objc-act.c | 6 |
2 files changed, 7 insertions, 4 deletions
diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog index 02a1356..62fb91d 100644 --- a/gcc/objc/ChangeLog +++ b/gcc/objc/ChangeLog @@ -1,3 +1,8 @@ +2008-05-12 Tomas Bily <tbily@suse.cz> + + * objc-act.c (objc_generate_write_barrier, objc_finish_message_expr): + Use CONVERT_EXPR_P. + 2008-04-23 Paolo Bonzini <bonzini@gnu.org> * objc-act.c (objc_build_string_object): Don't set TREE_INVARIANT. diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index 46565e9..b19821c 100644 --- a/gcc/objc/objc-act.c +++ b/gcc/objc/objc-act.c @@ -3164,8 +3164,7 @@ objc_generate_write_barrier (tree lhs, enum tree_code modifycode, tree rhs) outer = TREE_OPERAND (lhs, 0); while (!strong_cast_p - && (TREE_CODE (outer) == CONVERT_EXPR - || TREE_CODE (outer) == NOP_EXPR + && (CONVERT_EXPR_P (outer) || TREE_CODE (outer) == NON_LVALUE_EXPR)) { tree lhstype = TREE_TYPE (outer); @@ -6267,8 +6266,7 @@ objc_finish_message_expr (tree receiver, tree sel_name, tree method_params) rtype = receiver; while (TREE_CODE (rtype) == COMPOUND_EXPR || TREE_CODE (rtype) == MODIFY_EXPR - || TREE_CODE (rtype) == NOP_EXPR - || TREE_CODE (rtype) == CONVERT_EXPR + || CONVERT_EXPR_P (rtype) || TREE_CODE (rtype) == COMPONENT_REF) rtype = TREE_OPERAND (rtype, 0); self = (rtype == self_decl); |