summaryrefslogtreecommitdiff
path: root/gcc/calls.c
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2009-02-05 08:44:42 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2009-02-05 08:44:42 +0000
commit521c00a042cbcd8ea9772e9c1850fdd76dd77457 (patch)
tree90dcda4efd7650714636b9765bbc578dbffd83ba /gcc/calls.c
parenta3237183ed12392595cd42b77db6dd66565c2fd1 (diff)
downloadgcc-521c00a042cbcd8ea9772e9c1850fdd76dd77457.tar.gz
2009-02-05 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk r143951 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@143959 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/calls.c')
-rw-r--r--gcc/calls.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/calls.c b/gcc/calls.c
index e6e882f24b1..9dcf66298ca 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -498,10 +498,14 @@ special_function_p (const_tree fndecl, int flags)
&& ! strcmp (name, "__builtin_alloca"))))
flags |= ECF_MAY_BE_ALLOCA;
- /* Disregard prefix _, __ or __x. */
+ /* Disregard prefix _, __, __x or __builtin_. */
if (name[0] == '_')
{
- if (name[1] == '_' && name[2] == 'x')
+ if (name[1] == '_'
+ && name[2] == 'b'
+ && !strncmp (name + 3, "uiltin_", 7))
+ tname += 10;
+ else if (name[1] == '_' && name[2] == 'x')
tname += 3;
else if (name[1] == '_')
tname += 2;