aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorNathan Froyd <froydnj@codesourcery.com>2011-05-03 15:52:20 +0000
committerNathan Froyd <froydnj@gcc.gnu.org>2011-05-03 15:52:20 +0000
commit2c67cf6e0ed91d139f9e69216a2b5bf5ded9f18a (patch)
tree173156979ce67b7a8fa8c28b3e6b2fc7c7923132 /gcc
parentf9ac28ad2ced981a32734766949a3d608f6538e3 (diff)
downloadgcc-2c67cf6e0ed91d139f9e69216a2b5bf5ded9f18a.zip
gcc-2c67cf6e0ed91d139f9e69216a2b5bf5ded9f18a.tar.gz
gcc-2c67cf6e0ed91d139f9e69216a2b5bf5ded9f18a.tar.bz2
stormy16 (xstormy16_init_builtins): Call build_function_type_list instead of build_function_type.
* config/stormy16/stormy16 (xstormy16_init_builtins): Call build_function_type_list instead of build_function_type. Rearrange initialization of `args' to do so. From-SVN: r173321
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/stormy16/stormy16.c20
2 files changed, 19 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3f39898..6817e7b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
+ * config/stormy16/stormy16 (xstormy16_init_builtins): Call
+ build_function_type_list instead of build_function_type.
+ Rearrange initialization of `args' to do so.
+
+2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
+
* config/i386/i386.c (ix86_code_end): Call build_function_type_list
instead of build_function_type.
diff --git a/gcc/config/stormy16/stormy16.c b/gcc/config/stormy16/stormy16.c
index 052285c..1a90e16 100644
--- a/gcc/config/stormy16/stormy16.c
+++ b/gcc/config/stormy16/stormy16.c
@@ -2255,15 +2255,21 @@ static struct
static void
xstormy16_init_builtins (void)
{
- tree args, ret_type, arg;
- int i, a;
+ tree args[2], ret_type, arg = NULL_TREE, ftype;
+ int i, a, n_args;
ret_type = void_type_node;
for (i = 0; s16builtins[i].name; i++)
{
- args = void_list_node;
- for (a = strlen (s16builtins[i].arg_types) - 1; a >= 0; a--)
+ n_args = strlen (s16builtins[i].arg_types) - 1;
+
+ gcc_assert (n_args <= (int) ARRAY_SIZE (args));
+
+ for (a = n_args; a >= 0; a--)
+ args[a] = NULL_TREE;
+
+ for (a = n_args; a >= 0; a--)
{
switch (s16builtins[i].arg_types[a])
{
@@ -2276,10 +2282,10 @@ xstormy16_init_builtins (void)
if (a == 0)
ret_type = arg;
else
- args = tree_cons (NULL_TREE, arg, args);
+ args[a-1] = arg;
}
- add_builtin_function (s16builtins[i].name,
- build_function_type (ret_type, args),
+ ftype = build_function_type_list (ret_type, arg[0], arg[1], NULL_TREE);
+ add_builtin_function (s16builtins[i].name, ftype,
i, BUILT_IN_MD, NULL, NULL);
}
}