From b9778c45fc1cd361c3012e30aeb02b53cb3e531c Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Mon, 27 May 2019 11:34:35 +0000 Subject: ada-builtin-types.def: New file. * gcc-interface/ada-builtin-types.def: New file. * gcc-interface/ada-builtins.def: Likewise. * gcc-interface/ada-tree.h (BUILT_IN_LIKELY): New macro. (BUILT_IN_UNLIKELY): Likewise. * gcc-interface/trans.c (independent_iterations_p): Initialize the auto-vector to 16 elements. (Call_to_gnu): Remove local variable and change the vector of actual parameters to an auto-vector. Do not convert actual parameters to the argument type for front-end built-in functions. Add support for front-end built-in functions. (build_noreturn_cond): Use internal instead of built-in function. * gcc-interface/utils.c (c_builtin_type): Include ada-builtin-types.def (install_builtin_function_types): Likewise. (install_builtin_functions): Include ada-builtins.def first. From-SVN: r271658 --- gcc/ada/gcc-interface/utils.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'gcc/ada/gcc-interface/utils.c') diff --git a/gcc/ada/gcc-interface/utils.c b/gcc/ada/gcc-interface/utils.c index ab8b93a..4d3facc 100644 --- a/gcc/ada/gcc-interface/utils.c +++ b/gcc/ada/gcc-interface/utils.c @@ -5877,6 +5877,7 @@ enum c_builtin_type ARG6, ARG7) NAME, #define DEF_POINTER_TYPE(NAME, TYPE) NAME, #include "builtin-types.def" +#include "ada-builtin-types.def" #undef DEF_PRIMITIVE_TYPE #undef DEF_FUNCTION_TYPE_0 #undef DEF_FUNCTION_TYPE_1 @@ -6025,6 +6026,7 @@ install_builtin_function_types (void) builtin_types[(int) ENUM] = build_pointer_type (builtin_types[(int) TYPE]); #include "builtin-types.def" +#include "ada-builtin-types.def" #undef DEF_PRIMITIVE_TYPE #undef DEF_FUNCTION_TYPE_0 @@ -6574,7 +6576,10 @@ static int flag_isoc94 = 0; static int flag_isoc99 = 0; static int flag_isoc11 = 0; -/* Install what the common builtins.def offers. */ +/* Install what the common builtins.def offers plus our local additions. + + Note that ada-builtins.def is included first so that locally redefined + built-in functions take precedence over the commonly defined ones. */ static void install_builtin_functions (void) @@ -6587,6 +6592,10 @@ install_builtin_functions (void) builtin_types[(int) LIBTYPE], \ BOTH_P, FALLBACK_P, NONANSI_P, \ built_in_attributes[(int) ATTRS], IMPLICIT); +#define DEF_ADA_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ + DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_FRONTEND, TYPE, BT_LAST, \ + false, false, false, ATTRS, true, true) +#include "ada-builtins.def" #include "builtins.def" } -- cgit v1.1