From 6a3799eb0065d62b04315aa2a9808bce71dab54b Mon Sep 17 00:00:00 2001 From: Aldy Hernandez Date: Mon, 1 Sep 2008 15:02:27 +0000 Subject: 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 --- gcc/objc/ChangeLog | 9 +++++++++ gcc/objc/objc-act.c | 20 +++++++++++++------- 2 files changed, 22 insertions(+), 7 deletions(-) (limited to 'gcc/objc') 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 + + * 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 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 { -- cgit v1.2.1