X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fopt%2Fproc_cloning.c;h=6c4b4515b477f3c974392995c08fbe933c0dd214;hb=2f7da22ade10e502888999170ef42fcf9a619852;hp=62a2e5ce9469ee03bf89e37eadd36720cfb392a3;hpb=4b1138a9eee25ce11adbb7d7162eaa49421e8b51;p=libfirm diff --git a/ir/opt/proc_cloning.c b/ir/opt/proc_cloning.c index 62a2e5ce9..6c4b4515b 100644 --- a/ir/opt/proc_cloning.c +++ b/ir/opt/proc_cloning.c @@ -50,7 +50,7 @@ #include "irnode_t.h" #include "irtools.h" #include "irgmod.h" -#include "array.h" +#include "array_t.h" #include "xmalloc.h" /** @@ -193,6 +193,10 @@ static void collect_irg_calls(ir_node *call, void *env) { if (get_entity_visibility(callee) == visibility_external_allocated) return; + /* we cannot clone calls to weak functions */ + if (get_entity_additional_properties(callee) & mtp_property_weak) + return; + process_call(call, callee, hmap); } }