aboutsummaryrefslogtreecommitdiff
path: root/gcc/c
diff options
context:
space:
mode:
authorTamar Christina <tamar.christina@arm.com>2021-08-06 12:21:05 +0100
committerTamar Christina <tamar.christina@arm.com>2021-08-06 12:21:05 +0100
commit6b0bde7eef492843426c3f6b2da229b3c1526eaa (patch)
treef9a4007c56b266703f69fc3a673e0accbdef6362 /gcc/c
parent3c94db20be9af3cb0376292e2d4672b515558231 (diff)
downloadgcc-6b0bde7eef492843426c3f6b2da229b3c1526eaa.zip
gcc-6b0bde7eef492843426c3f6b2da229b3c1526eaa.tar.gz
gcc-6b0bde7eef492843426c3f6b2da229b3c1526eaa.tar.bz2
middle-end/AArch64: Fix bootstrap after vec changes
The build is broken since a3d3e8c362c2 since it's deleted the ability to pass vec<> by value and now must be past by reference. However some language hooks used by AArch64 were not updated and breaks the build on AArch64. This patch updates these hooks. gcc/c/ChangeLog: * c-decl.c (c_simulate_enum_decl): Pass vec<> by pointer. * c-tree.h (c_simulate_enum_decl): Likewise. gcc/ChangeLog: * config/aarch64/aarch64-sve-builtins.cc (register_svpattern, register_svprfop): Pass vec<> by pointer. * langhooks-def.h (lhd_simulate_enum_decl): Likewise. * langhooks.c (lhd_simulate_enum_decl): Likewise. * langhooks.h (struct lang_hooks_for_types): Likewise. gcc/cp/ChangeLog: * cp-objcp-common.h (cxx_simulate_enum_decl): Pass vec<> by pointer. * decl.c (cxx_simulate_enum_decl): Likewise.
Diffstat (limited to 'gcc/c')
-rw-r--r--gcc/c/c-decl.c3
-rw-r--r--gcc/c/c-tree.h2
2 files changed, 3 insertions, 2 deletions
diff --git a/gcc/c/c-decl.c b/gcc/c/c-decl.c
index 234ee16..221a67f 100644
--- a/gcc/c/c-decl.c
+++ b/gcc/c/c-decl.c
@@ -9379,7 +9379,7 @@ build_enumerator (location_t decl_loc, location_t loc,
tree
c_simulate_enum_decl (location_t loc, const char *name,
- vec<string_int_pair> values)
+ vec<string_int_pair> *values_ptr)
{
location_t saved_loc = input_location;
input_location = loc;
@@ -9389,6 +9389,7 @@ c_simulate_enum_decl (location_t loc, const char *name,
tree value_chain = NULL_TREE;
string_int_pair *value;
+ vec<string_int_pair> values = *values_ptr;
unsigned int i;
FOR_EACH_VEC_ELT (values, i, value)
{
diff --git a/gcc/c/c-tree.h b/gcc/c/c-tree.h
index ab6db38..a8a90ea 100644
--- a/gcc/c/c-tree.h
+++ b/gcc/c/c-tree.h
@@ -595,7 +595,7 @@ extern void finish_function (location_t = input_location);
extern tree finish_struct (location_t, tree, tree, tree,
class c_struct_parse_info *);
extern tree c_simulate_enum_decl (location_t, const char *,
- vec<string_int_pair>);
+ vec<string_int_pair> *);
extern struct c_arg_info *build_arg_info (void);
extern struct c_arg_info *get_parm_info (bool, tree);
extern tree grokfield (location_t, struct c_declarator *,