aboutsummaryrefslogtreecommitdiff
path: root/gcc/builtins.c
diff options
context:
space:
mode:
authorRafael Avila de Espindola <espindola@google.com>2009-04-02 12:03:48 +0000
committerRafael Espindola <espindola@gcc.gnu.org>2009-04-02 12:03:48 +0000
commitbbf7ce1102df37e77231586abee685e96c19f25c (patch)
treeada50fd14e79e9d014f08296118dd44ba72f361a /gcc/builtins.c
parent47e4dfcf4a4770e17ade0a4a1d10cc41e2675554 (diff)
downloadgcc-bbf7ce1102df37e77231586abee685e96c19f25c.zip
gcc-bbf7ce1102df37e77231586abee685e96c19f25c.tar.gz
gcc-bbf7ce1102df37e77231586abee685e96c19f25c.tar.bz2
builtins.c (is_builtin_name): New.
2009-04-02 Rafael Avila de Espindola <espindola@google.com> * builtins.c (is_builtin_name): New. (called_as_built_in): Use is_builtin_name. * tree.h (is_builtin_name): New. * varasm.c (incorporeal_function_p): Use is_builtin_name From-SVN: r145444
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r--gcc/builtins.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c
index e22c5f5..9f0f4ac 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -241,13 +241,9 @@ static tree do_mpfr_bessel_n (tree, tree, tree,
static tree do_mpfr_remquo (tree, tree, tree);
static tree do_mpfr_lgamma_r (tree, tree, tree);
-/* Return true if NODE should be considered for inline expansion regardless
- of the optimization level. This means whenever a function is invoked with
- its "internal" name, which normally contains the prefix "__builtin". */
-
-static bool called_as_built_in (tree node)
+bool
+is_builtin_name (const char *name)
{
- const char *name = IDENTIFIER_POINTER (DECL_NAME (node));
if (strncmp (name, "__builtin_", 10) == 0)
return true;
if (strncmp (name, "__sync_", 7) == 0)
@@ -255,6 +251,20 @@ static bool called_as_built_in (tree node)
return false;
}
+/* Return true if NODE should be considered for inline expansion regardless
+ of the optimization level. This means whenever a function is invoked with
+ its "internal" name, which normally contains the prefix "__builtin". */
+
+static bool
+called_as_built_in (tree node)
+{
+ /* Note that we must use DECL_NAME, not DECL_ASSEMBLER_NAME_SET_P since
+ we want the name used to call the function, not the name it
+ will have. */
+ const char *name = IDENTIFIER_POINTER (DECL_NAME (node));
+ return is_builtin_name (name);
+}
+
/* Return the alignment in bits of EXP, an object.
Don't return more than MAX_ALIGN no matter what, ALIGN is the inital
guessed alignment e.g. from type alignment. */