aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface
diff options
context:
space:
mode:
authorMichael Meissner <meissner@linux.vnet.ibm.com>2011-10-11 19:55:09 +0000
committerMichael Meissner <meissner@gcc.gnu.org>2011-10-11 19:55:09 +0000
commite79983f458034c3061645a4c4ff83c9c4d9019b9 (patch)
tree304b794b6f6f0af1f79b00f4166b897337141fac /gcc/ada/gcc-interface
parentf0286f957326b588ba6f49d1fed0c14c19033830 (diff)
downloadgcc-e79983f458034c3061645a4c4ff83c9c4d9019b9.zip
gcc-e79983f458034c3061645a4c4ff83c9c4d9019b9.tar.gz
gcc-e79983f458034c3061645a4c4ff83c9c4d9019b9.tar.bz2
Convert standard builtin functions from being arrays to using a functional interface
From-SVN: r179820
Diffstat (limited to 'gcc/ada/gcc-interface')
-rw-r--r--gcc/ada/gcc-interface/trans.c4
-rw-r--r--gcc/ada/gcc-interface/utils.c6
2 files changed, 4 insertions, 6 deletions
diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c
index af7e9af..858810a 100644
--- a/gcc/ada/gcc-interface/trans.c
+++ b/gcc/ada/gcc-interface/trans.c
@@ -4230,7 +4230,7 @@ Exception_Handler_to_gnu_zcx (Node_Id gnat_node)
time, and reuse it to feed the end_handler hook's argument at exit. */
gnu_current_exc_ptr
- = build_call_expr (built_in_decls [BUILT_IN_EH_POINTER],
+ = build_call_expr (builtin_decl_explicit (BUILT_IN_EH_POINTER),
1, integer_zero_node);
prev_gnu_incoming_exc_ptr = gnu_incoming_exc_ptr;
gnu_incoming_exc_ptr = create_var_decl (get_identifier ("EXPTR"), NULL_TREE,
@@ -5520,7 +5520,7 @@ gnat_to_gnu (Node_Id gnat_node)
to_ptr = build_fold_addr_expr (to);
from_ptr = build_fold_addr_expr (from);
- t = implicit_built_in_decls[BUILT_IN_MEMMOVE];
+ t = builtin_decl_implicit (BUILT_IN_MEMMOVE);
gnu_result = build_call_expr (t, 3, to_ptr, from_ptr, size);
}
}
diff --git a/gcc/ada/gcc-interface/utils.c b/gcc/ada/gcc-interface/utils.c
index ca3218f..7c7e7c6 100644
--- a/gcc/ada/gcc-interface/utils.c
+++ b/gcc/ada/gcc-interface/utils.c
@@ -5657,7 +5657,7 @@ def_builtin_1 (enum built_in_function fncode,
/* Preserve an already installed decl. It most likely was setup in advance
(e.g. as part of the internal builtins) for specific reasons. */
- if (built_in_decls[(int) fncode] != NULL_TREE)
+ if (builtin_decl_explicit (fncode) != NULL_TREE)
return;
gcc_assert ((!both_p && !fallback_p)
@@ -5674,9 +5674,7 @@ def_builtin_1 (enum built_in_function fncode,
add_builtin_function (libname, libtype, fncode, fnclass,
NULL, fnattrs);
- built_in_decls[(int) fncode] = decl;
- if (implicit_p)
- implicit_built_in_decls[(int) fncode] = decl;
+ set_builtin_decl (fncode, decl, implicit_p);
}
static int flag_isoc94 = 0;