From 718566853e66df337375a38e8237383885d3afbd Mon Sep 17 00:00:00 2001 From: Aldy Hernandez Date: Sat, 13 Jun 2009 02:17:22 +0000 Subject: [PATCH] rs6000-c.c (altivec_resolve_overloaded_builtin): Add location argument to build_decl call. * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add location argument to build_decl call. * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Same. (rs6000_init_builtins): Same. (spe_init_builtins): Same. (rs6000_gimplify_va_arg): Add location argument to create_artificial_label call. From-SVN: r148449 --- gcc/ChangeLog | 10 ++++++ gcc/config/rs6000/rs6000-c.c | 4 +-- gcc/config/rs6000/rs6000.c | 68 +++++++++++++++++++++++------------- 3 files changed, 55 insertions(+), 27 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bb9629a93de..16529f942ce 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2009-06-12 Aldy Hernandez + + * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): + Add location argument to build_decl call. + * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Same. + (rs6000_init_builtins): Same. + (spe_init_builtins): Same. + (rs6000_gimplify_va_arg): Add location argument to + create_artificial_label call. + 2009-06-12 Steven Bosscher * timevar.def (TV_COMBINE_STACK_ADJUST): New timevar. diff --git a/gcc/config/rs6000/rs6000-c.c b/gcc/config/rs6000/rs6000-c.c index 33bbd65bff7..38af0f44f2f 100644 --- a/gcc/config/rs6000/rs6000-c.c +++ b/gcc/config/rs6000/rs6000-c.c @@ -3117,7 +3117,7 @@ altivec_resolve_overloaded_builtin (tree fndecl, void *passed_arglist) build_int_cst (TREE_TYPE (arg2), TYPE_VECTOR_SUBPARTS (arg1_type) - 1), 0); - decl = build_decl (VAR_DECL, NULL_TREE, arg1_type); + decl = build_decl (input_location, VAR_DECL, NULL_TREE, arg1_type); DECL_EXTERNAL (decl) = 0; TREE_PUBLIC (decl) = 0; DECL_CONTEXT (decl) = current_function_decl; @@ -3173,7 +3173,7 @@ altivec_resolve_overloaded_builtin (tree fndecl, void *passed_arglist) build_int_cst (TREE_TYPE (arg2), TYPE_VECTOR_SUBPARTS (arg1_type) - 1), 0); - decl = build_decl (VAR_DECL, NULL_TREE, arg1_type); + decl = build_decl (input_location, VAR_DECL, NULL_TREE, arg1_type); DECL_EXTERNAL (decl) = 0; TREE_PUBLIC (decl) = 0; DECL_CONTEXT (decl) = current_function_decl; diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 064138bf939..7e923fbcc15 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -6833,19 +6833,22 @@ rs6000_build_builtin_va_list (void) return build_pointer_type (char_type_node); record = (*lang_hooks.types.make_type) (RECORD_TYPE); - type_decl = build_decl (TYPE_DECL, get_identifier ("__va_list_tag"), record); + type_decl = build_decl (BUILTINS_LOCATION, TYPE_DECL, + get_identifier ("__va_list_tag"), record); - f_gpr = build_decl (FIELD_DECL, get_identifier ("gpr"), + f_gpr = build_decl (BUILTINS_LOCATION, FIELD_DECL, get_identifier ("gpr"), unsigned_char_type_node); - f_fpr = build_decl (FIELD_DECL, get_identifier ("fpr"), + f_fpr = build_decl (BUILTINS_LOCATION, FIELD_DECL, get_identifier ("fpr"), unsigned_char_type_node); /* Give the two bytes of padding a name, so that -Wpadded won't warn on every user file. */ - f_res = build_decl (FIELD_DECL, get_identifier ("reserved"), - short_unsigned_type_node); - f_ovf = build_decl (FIELD_DECL, get_identifier ("overflow_arg_area"), + f_res = build_decl (BUILTINS_LOCATION, FIELD_DECL, + get_identifier ("reserved"), short_unsigned_type_node); + f_ovf = build_decl (BUILTINS_LOCATION, FIELD_DECL, + get_identifier ("overflow_arg_area"), ptr_type_node); - f_sav = build_decl (FIELD_DECL, get_identifier ("reg_save_area"), + f_sav = build_decl (BUILTINS_LOCATION, FIELD_DECL, + get_identifier ("reg_save_area"), ptr_type_node); va_list_gpr_counter_field = f_gpr; @@ -7066,8 +7069,8 @@ rs6000_gimplify_va_arg (tree valist, tree type, gimple_seq *pre_p, align = 16; else { - lab_false = create_artificial_label (); - lab_over = create_artificial_label (); + lab_false = create_artificial_label (input_location); + lab_over = create_artificial_label (input_location); /* Long long and SPE vectors are aligned in the registers. As are any other 2 gpr item such as complex int due to a @@ -9397,19 +9400,22 @@ rs6000_init_builtins (void) float_type_internal_node = float_type_node; void_type_internal_node = void_type_node; - tdecl = build_decl (TYPE_DECL, get_identifier ("__bool char"), + tdecl = build_decl (BUILTINS_LOCATION, TYPE_DECL, + get_identifier ("__bool char"), bool_char_type_node); TYPE_NAME (bool_char_type_node) = tdecl; (*lang_hooks.decls.pushdecl) (tdecl); - tdecl = build_decl (TYPE_DECL, get_identifier ("__bool short"), + tdecl = build_decl (BUILTINS_LOCATION, TYPE_DECL, + get_identifier ("__bool short"), bool_short_type_node); TYPE_NAME (bool_short_type_node) = tdecl; (*lang_hooks.decls.pushdecl) (tdecl); - tdecl = build_decl (TYPE_DECL, get_identifier ("__bool int"), + tdecl = build_decl (BUILTINS_LOCATION, TYPE_DECL, + get_identifier ("__bool int"), bool_int_type_node); TYPE_NAME (bool_int_type_node) = tdecl; (*lang_hooks.decls.pushdecl) (tdecl); - tdecl = build_decl (TYPE_DECL, get_identifier ("__pixel"), + tdecl = build_decl (BUILTINS_LOCATION, TYPE_DECL, get_identifier ("__pixel"), pixel_type_node); TYPE_NAME (pixel_type_node) = tdecl; (*lang_hooks.decls.pushdecl) (tdecl); @@ -9419,50 +9425,61 @@ rs6000_init_builtins (void) bool_V4SI_type_node = build_vector_type (bool_int_type_node, 4); pixel_V8HI_type_node = build_vector_type (pixel_type_node, 8); - tdecl = build_decl (TYPE_DECL, get_identifier ("__vector unsigned char"), + tdecl = build_decl (BUILTINS_LOCATION, TYPE_DECL, + get_identifier ("__vector unsigned char"), unsigned_V16QI_type_node); TYPE_NAME (unsigned_V16QI_type_node) = tdecl; (*lang_hooks.decls.pushdecl) (tdecl); - tdecl = build_decl (TYPE_DECL, get_identifier ("__vector signed char"), + tdecl = build_decl (BUILTINS_LOCATION, + TYPE_DECL, get_identifier ("__vector signed char"), V16QI_type_node); TYPE_NAME (V16QI_type_node) = tdecl; (*lang_hooks.decls.pushdecl) (tdecl); - tdecl = build_decl (TYPE_DECL, get_identifier ("__vector __bool char"), + tdecl = build_decl (BUILTINS_LOCATION, + TYPE_DECL, get_identifier ("__vector __bool char"), bool_V16QI_type_node); TYPE_NAME ( bool_V16QI_type_node) = tdecl; (*lang_hooks.decls.pushdecl) (tdecl); - tdecl = build_decl (TYPE_DECL, get_identifier ("__vector unsigned short"), + tdecl = build_decl (BUILTINS_LOCATION, + TYPE_DECL, get_identifier ("__vector unsigned short"), unsigned_V8HI_type_node); TYPE_NAME (unsigned_V8HI_type_node) = tdecl; (*lang_hooks.decls.pushdecl) (tdecl); - tdecl = build_decl (TYPE_DECL, get_identifier ("__vector signed short"), + tdecl = build_decl (BUILTINS_LOCATION, + TYPE_DECL, get_identifier ("__vector signed short"), V8HI_type_node); TYPE_NAME (V8HI_type_node) = tdecl; (*lang_hooks.decls.pushdecl) (tdecl); - tdecl = build_decl (TYPE_DECL, get_identifier ("__vector __bool short"), + tdecl = build_decl (BUILTINS_LOCATION, TYPE_DECL, + get_identifier ("__vector __bool short"), bool_V8HI_type_node); TYPE_NAME (bool_V8HI_type_node) = tdecl; (*lang_hooks.decls.pushdecl) (tdecl); - tdecl = build_decl (TYPE_DECL, get_identifier ("__vector unsigned int"), + tdecl = build_decl (BUILTINS_LOCATION, TYPE_DECL, + get_identifier ("__vector unsigned int"), unsigned_V4SI_type_node); TYPE_NAME (unsigned_V4SI_type_node) = tdecl; (*lang_hooks.decls.pushdecl) (tdecl); - tdecl = build_decl (TYPE_DECL, get_identifier ("__vector signed int"), + tdecl = build_decl (BUILTINS_LOCATION, + TYPE_DECL, get_identifier ("__vector signed int"), V4SI_type_node); TYPE_NAME (V4SI_type_node) = tdecl; (*lang_hooks.decls.pushdecl) (tdecl); - tdecl = build_decl (TYPE_DECL, get_identifier ("__vector __bool int"), + tdecl = build_decl (BUILTINS_LOCATION, + TYPE_DECL, get_identifier ("__vector __bool int"), bool_V4SI_type_node); TYPE_NAME (bool_V4SI_type_node) = tdecl; (*lang_hooks.decls.pushdecl) (tdecl); - tdecl = build_decl (TYPE_DECL, get_identifier ("__vector float"), + tdecl = build_decl (BUILTINS_LOCATION, + TYPE_DECL, get_identifier ("__vector float"), V4SF_type_node); TYPE_NAME (V4SF_type_node) = tdecl; (*lang_hooks.decls.pushdecl) (tdecl); - tdecl = build_decl (TYPE_DECL, get_identifier ("__vector __pixel"), + tdecl = build_decl (BUILTINS_LOCATION, + TYPE_DECL, get_identifier ("__vector __pixel"), pixel_V8HI_type_node); TYPE_NAME (pixel_V8HI_type_node) = tdecl; (*lang_hooks.decls.pushdecl) (tdecl); @@ -9668,7 +9685,8 @@ spe_init_builtins (void) SPE_BUILTIN_EVSEL_FSTSTEQ); (*lang_hooks.decls.pushdecl) - (build_decl (TYPE_DECL, get_identifier ("__ev64_opaque__"), + (build_decl (BUILTINS_LOCATION, TYPE_DECL, + get_identifier ("__ev64_opaque__"), opaque_V2SI_type_node)); /* Initialize irregular SPE builtins. */