diff options
author | Nathan Froyd <froydnj@codesourcery.com> | 2011-05-03 15:52:20 +0000 |
---|---|---|
committer | Nathan Froyd <froydnj@gcc.gnu.org> | 2011-05-03 15:52:20 +0000 |
commit | 2c67cf6e0ed91d139f9e69216a2b5bf5ded9f18a (patch) | |
tree | 173156979ce67b7a8fa8c28b3e6b2fc7c7923132 /gcc | |
parent | f9ac28ad2ced981a32734766949a3d608f6538e3 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/stormy16/stormy16.c | 20 |
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); } } |