diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2008-09-01 15:02:27 +0000 |
---|---|---|
committer | Aldy Hernandez <aldyh@gcc.gnu.org> | 2008-09-01 15:02:27 +0000 |
commit | 6a3799eb0065d62b04315aa2a9808bce71dab54b (patch) | |
tree | 57a9ce83f96df241f121be8ab48c43f79b30bd47 /gcc/objc | |
parent | 3e1e5626dc66aa2bf4a2529b4aa842741d726340 (diff) | |
download | gcc-6a3799eb0065d62b04315aa2a9808bce71dab54b.tar.gz |
tree.c (protected_set_expr_location): New.
* tree.c (protected_set_expr_location): New.
* tree.h (protected_set_expr_location): New prototype.
* c-tree.h (build_array_ref): Add argument.
(parser_build_unary_op): Same.
* c-typeck.c (build_indirect_ref): Handle new location argument.
(build_array_ref): Same.
(parser_build_unary_op): Same.
* gimplify.c (gimplify_asm_expr): Set input_location before calling
error.
* c-omp.c (c_finish_omp_atomic): Pass location when calling
build_indirect_ref.
* c-common.c (finish_label_address_expr): Handle new location
argument.
* c-common.h (build_indirect_ref): Add argument.
(finish_label_address_expr): Same.
* c-parser.c (c_parser_unary_expression): Pass location to build
functions.
(c_parser_postfix_expression): Same.
objc/
* objc-act.c (build_typed_selector_reference): Pass input_location to
build_unary_op calls.
(build_selector_reference): Same, but to build_array_ref.
(objc_substitute_decl): Same.
(build_ivar_reference): Same, but to build_indirect_ref.
(get_super_receiver): Same.
testsuite/
* gcc.dg/20010516-1.c: Test for columns.
cp/
* typeck.c (build_x_indirect_ref): Add location argument.
* class.c (build_base_path): Pass location to build_indirect_ref.
* pt.c (tsubst_copy_and_build): Pass location to
finish_label_address_expr.
* parser.c (cp_parser_unary_expression): Same.
From-SVN: r139867
Diffstat (limited to 'gcc/objc')
-rw-r--r-- | gcc/objc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/objc/objc-act.c | 20 |
2 files changed, 22 insertions, 7 deletions
diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog index 8fa3d3d4df1..8eea3dbfd67 100644 --- a/gcc/objc/ChangeLog +++ b/gcc/objc/ChangeLog @@ -1,3 +1,12 @@ +2008-09-01 Aldy Hernandez <aldyh@redhat.com> + + * objc-act.c (build_typed_selector_reference): Pass input_location to + build_unary_op calls. + (build_selector_reference): Same, but to build_array_ref. + (objc_substitute_decl): Same. + (build_ivar_reference): Same, but to build_indirect_ref. + (get_super_receiver): Same. + 2008-07-28 Richard Guenther <rguenther@suse.de> Merge from gimple-tuples-branch. diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index 5941fb69389..8f9571942c2 100644 --- a/gcc/objc/objc-act.c +++ b/gcc/objc/objc-act.c @@ -2630,7 +2630,8 @@ build_typed_selector_reference (tree ident, tree prototype) return_at_index: expr = build_unary_op (ADDR_EXPR, build_array_ref (UOBJC_SELECTOR_TABLE_decl, - build_int_cst (NULL_TREE, index)), + build_int_cst (NULL_TREE, index), + input_location), 1); return convert (objc_selector_type, expr); } @@ -2648,7 +2649,8 @@ build_selector_reference (tree ident) return (flag_next_runtime ? TREE_PURPOSE (*chain) : build_array_ref (UOBJC_SELECTOR_TABLE_decl, - build_int_cst (NULL_TREE, index))); + build_int_cst (NULL_TREE, index), + input_location)); index++; chain = &TREE_CHAIN (*chain); @@ -2661,7 +2663,8 @@ build_selector_reference (tree ident) return (flag_next_runtime ? expr : build_array_ref (UOBJC_SELECTOR_TABLE_decl, - build_int_cst (NULL_TREE, index))); + build_int_cst (NULL_TREE, index), + input_location)); } static GTY(()) int class_reference_idx; @@ -3046,11 +3049,13 @@ objc_substitute_decl (tree expr, tree oldexpr, tree newexpr) return build_array_ref (objc_substitute_decl (TREE_OPERAND (expr, 0), oldexpr, newexpr), - TREE_OPERAND (expr, 1)); + TREE_OPERAND (expr, 1), + input_location); case INDIRECT_REF: return build_indirect_ref (objc_substitute_decl (TREE_OPERAND (expr, 0), oldexpr, - newexpr), "->"); + newexpr), "->", + input_location); default: return expr; } @@ -6713,7 +6718,8 @@ build_ivar_reference (tree id) self_decl = convert (objc_instance_type, self_decl); /* cast */ } - return objc_build_component_ref (build_indirect_ref (self_decl, "->"), id); + return objc_build_component_ref (build_indirect_ref (self_decl, "->", + input_location), id); } /* Compute a hash value for a given method SEL_NAME. */ @@ -8737,7 +8743,7 @@ get_super_receiver (void) super_class = build_indirect_ref (build_c_cast (build_pointer_type (objc_class_type), - super_class), "unary *"); + super_class), "unary *", input_location); } else { |