summaryrefslogtreecommitdiff
path: root/gcc/cgraph.c
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2008-09-02 21:27:57 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2008-09-02 21:27:57 +0000
commitd93d495ba54e9746659d91d69119157f038a815f (patch)
treebfc67c88ff54c4880beb663c32eedf5f95f15123 /gcc/cgraph.c
parente827aa43033edbfc6bac3fa2ff04421737b78421 (diff)
downloadgcc-d93d495ba54e9746659d91d69119157f038a815f.tar.gz
2008-09-02 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk r139912 after graphite merge into trunk graphite uses PPL & CLOOG... git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@139915 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cgraph.c')
-rw-r--r--gcc/cgraph.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/gcc/cgraph.c b/gcc/cgraph.c
index fdc156dfe33..54d5fad23ee 100644
--- a/gcc/cgraph.c
+++ b/gcc/cgraph.c
@@ -453,7 +453,21 @@ cgraph_node (tree decl)
node->origin->nested = node;
node->master_clone = node;
}
-
+ if (assembler_name_hash)
+ {
+ void **aslot;
+ tree name = DECL_ASSEMBLER_NAME (decl);
+
+ aslot = htab_find_slot_with_hash (assembler_name_hash, name,
+ decl_assembler_name_hash (name),
+ INSERT);
+ /* We can have multiple declarations with same assembler name. For C++
+ it is __builtin_strlen and strlen, for instance. Do we need to
+ record them all? Original implementation marked just first one
+ so lets hope for the best. */
+ if (*aslot == NULL)
+ *aslot = node;
+ }
return node;
}