aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2009-06-13 21:27:56 +0000
committerAldy Hernandez <aldyh@gcc.gnu.org>2009-06-13 21:27:56 +0000
commit4b29c5e5434f7aaaabd4b6f314139fde5803b513 (patch)
treead96463ea09c41bb6629fc9bc78134fa74144bfd /gcc
parentcd19075ff986d497b9a37b20ecc301fd3e5d3a22 (diff)
downloadgcc-4b29c5e5434f7aaaabd4b6f314139fde5803b513.zip
gcc-4b29c5e5434f7aaaabd4b6f314139fde5803b513.tar.gz
gcc-4b29c5e5434f7aaaabd4b6f314139fde5803b513.tar.bz2
rs6000-protos.h (altivec_resolve_overloaded_builtin): Change first argument type to location_t.
* config/rs6000/rs6000-protos.h (altivec_resolve_overloaded_builtin): Change first argument type to location_t. * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Same. Do not set input_location. Use loc instead of input_location throughout. objcp/ * objcp-decl.h (start_struct): Add location argument. (finish_struct): Same. (finish_decl): New. From-SVN: r148461
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/rs6000/rs6000-c.c27
-rw-r--r--gcc/config/rs6000/rs6000-protos.h2
-rw-r--r--gcc/objcp/ChangeLog6
-rw-r--r--gcc/objcp/objcp-decl.h10
5 files changed, 34 insertions, 19 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cc32b11..0fe65b2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2009-06-13 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000-protos.h (altivec_resolve_overloaded_builtin):
+ Change first argument type to location_t.
+ * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Same.
+ Do not set input_location.
+ Use loc instead of input_location throughout.
+
2009-06-13 Richard Guenther <rguenther@suse.de>
PR tree-optimization/40389
diff --git a/gcc/config/rs6000/rs6000-c.c b/gcc/config/rs6000/rs6000-c.c
index cd5c470..8a39b9e 100644
--- a/gcc/config/rs6000/rs6000-c.c
+++ b/gcc/config/rs6000/rs6000-c.c
@@ -3001,10 +3001,9 @@ altivec_build_resolved_builtin (tree *args, int n,
support Altivec's overloaded builtins. */
tree
-altivec_resolve_overloaded_builtin (unsigned int loc, tree fndecl,
+altivec_resolve_overloaded_builtin (location_t loc, tree fndecl,
void *passed_arglist)
{
- location_t input_location = (location_t) loc;
VEC(tree,gc) *arglist = (VEC(tree,gc) *) passed_arglist;
unsigned int nargs = VEC_length (tree, arglist);
unsigned int fcode = DECL_FUNCTION_CODE (fndecl);
@@ -3115,11 +3114,11 @@ altivec_resolve_overloaded_builtin (unsigned int loc, tree fndecl,
goto bad;
/* Build *(((arg1_inner_type*)&(vector type){arg1})+arg2). */
arg1_inner_type = TREE_TYPE (arg1_type);
- arg2 = build_binary_op (input_location, BIT_AND_EXPR, arg2,
+ arg2 = build_binary_op (loc, BIT_AND_EXPR, arg2,
build_int_cst (TREE_TYPE (arg2),
TYPE_VECTOR_SUBPARTS (arg1_type)
- 1), 0);
- decl = build_decl (input_location, VAR_DECL, NULL_TREE, arg1_type);
+ decl = build_decl (loc, VAR_DECL, NULL_TREE, arg1_type);
DECL_EXTERNAL (decl) = 0;
TREE_PUBLIC (decl) = 0;
DECL_CONTEXT (decl) = current_function_decl;
@@ -3129,15 +3128,15 @@ altivec_resolve_overloaded_builtin (unsigned int loc, tree fndecl,
DECL_INITIAL (decl) = arg1;
stmt = build1 (DECL_EXPR, arg1_type, decl);
TREE_ADDRESSABLE (decl) = 1;
- SET_EXPR_LOCATION (stmt, input_location);
+ SET_EXPR_LOCATION (stmt, loc);
stmt = build1 (COMPOUND_LITERAL_EXPR, arg1_type, stmt);
innerptrtype = build_pointer_type (arg1_inner_type);
- stmt = build_unary_op (input_location, ADDR_EXPR, stmt, 0);
+ stmt = build_unary_op (loc, ADDR_EXPR, stmt, 0);
stmt = convert (innerptrtype, stmt);
- stmt = build_binary_op (input_location, PLUS_EXPR, stmt, arg2, 1);
- stmt = build_indirect_ref (input_location, stmt, NULL);
+ stmt = build_binary_op (loc, PLUS_EXPR, stmt, arg2, 1);
+ stmt = build_indirect_ref (loc, stmt, NULL);
return stmt;
}
@@ -3171,11 +3170,11 @@ altivec_resolve_overloaded_builtin (unsigned int loc, tree fndecl,
goto bad;
/* Build *(((arg1_inner_type*)&(vector type){arg1})+arg2) = arg0. */
arg1_inner_type = TREE_TYPE (arg1_type);
- arg2 = build_binary_op (input_location, BIT_AND_EXPR, arg2,
+ arg2 = build_binary_op (loc, BIT_AND_EXPR, arg2,
build_int_cst (TREE_TYPE (arg2),
TYPE_VECTOR_SUBPARTS (arg1_type)
- 1), 0);
- decl = build_decl (input_location, VAR_DECL, NULL_TREE, arg1_type);
+ decl = build_decl (loc, VAR_DECL, NULL_TREE, arg1_type);
DECL_EXTERNAL (decl) = 0;
TREE_PUBLIC (decl) = 0;
DECL_CONTEXT (decl) = current_function_decl;
@@ -3185,15 +3184,15 @@ altivec_resolve_overloaded_builtin (unsigned int loc, tree fndecl,
DECL_INITIAL (decl) = arg1;
stmt = build1 (DECL_EXPR, arg1_type, decl);
TREE_ADDRESSABLE (decl) = 1;
- SET_EXPR_LOCATION (stmt, input_location);
+ SET_EXPR_LOCATION (stmt, loc);
stmt = build1 (COMPOUND_LITERAL_EXPR, arg1_type, stmt);
innerptrtype = build_pointer_type (arg1_inner_type);
- stmt = build_unary_op (input_location, ADDR_EXPR, stmt, 0);
+ stmt = build_unary_op (loc, ADDR_EXPR, stmt, 0);
stmt = convert (innerptrtype, stmt);
- stmt = build_binary_op (input_location, PLUS_EXPR, stmt, arg2, 1);
- stmt = build_indirect_ref (input_location, stmt, NULL);
+ stmt = build_binary_op (loc, PLUS_EXPR, stmt, arg2, 1);
+ stmt = build_indirect_ref (loc, stmt, NULL);
stmt = build2 (MODIFY_EXPR, TREE_TYPE (stmt), stmt,
convert (TREE_TYPE (stmt), arg0));
stmt = build2 (COMPOUND_EXPR, arg1_type, stmt, decl);
diff --git a/gcc/config/rs6000/rs6000-protos.h b/gcc/config/rs6000/rs6000-protos.h
index 0c5dad6..1b68d44 100644
--- a/gcc/config/rs6000/rs6000-protos.h
+++ b/gcc/config/rs6000/rs6000-protos.h
@@ -132,7 +132,7 @@ extern void function_arg_advance (CUMULATIVE_ARGS *, enum machine_mode,
tree, int, int);
extern int function_arg_boundary (enum machine_mode, tree);
extern rtx function_arg (CUMULATIVE_ARGS *, enum machine_mode, tree, int);
-extern tree altivec_resolve_overloaded_builtin (unsigned int, tree, void *);
+extern tree altivec_resolve_overloaded_builtin (location_t, tree, void *);
extern rtx rs6000_function_value (const_tree, const_tree);
extern rtx rs6000_libcall_value (enum machine_mode);
extern rtx rs6000_va_arg (tree, tree);
diff --git a/gcc/objcp/ChangeLog b/gcc/objcp/ChangeLog
index fcb4a64..45985f8 100644
--- a/gcc/objcp/ChangeLog
+++ b/gcc/objcp/ChangeLog
@@ -1,3 +1,9 @@
+2009-06-13 Aldy Hernandez <aldyh@redhat.com>
+
+ * objcp-decl.h (start_struct): Add location argument.
+ (finish_struct): Same.
+ (finish_decl): New.
+
2009-06-12 Aldy Hernandez <aldyh@redhat.com>
* objcp-decl.h (c_end_compound_stmt): New argument.
diff --git a/gcc/objcp/objcp-decl.h b/gcc/objcp/objcp-decl.h
index e335149..07d39ab 100644
--- a/gcc/objcp/objcp-decl.h
+++ b/gcc/objcp/objcp-decl.h
@@ -37,12 +37,14 @@ extern tree objcp_end_compound_stmt (tree, int);
invoke the original C++ functions if needed). */
#ifdef OBJCP_REMAP_FUNCTIONS
-#define start_struct(code, name, in_struct, struct_types, loc) \
- objcp_start_struct (code, name)
-#define finish_struct(t, fieldlist, attributes, in_struct, struct_types) \
- objcp_finish_struct (t, fieldlist, attributes)
+#define start_struct(loc, code, name, in_struct, struct_types) \
+ objcp_start_struct (loc, code, name)
+#define finish_struct(loc, t, fieldlist, attributes, in_struct, struct_types) \
+ objcp_finish_struct (loc, t, fieldlist, attributes)
#define finish_function() \
objcp_finish_function ()
+#define finish_decl(decl, loc, init, origtype, asmspec) \
+ cp_finish_decl (decl, init, false, asmspec, 0)
#define xref_tag(code, name) \
objcp_xref_tag (code, name)
#define comptypes(type1, type2) \