diff --git a/gcc/d/decl.cc b/gcc/d/decl.cc index 49723649230..d31f6bef8d4 100644 --- a/gcc/d/decl.cc +++ b/gcc/d/decl.cc @@ -1817,6 +1817,9 @@ make_thunk (FuncDeclaration *decl, int offset) DECL_COMDAT (thunk) = DECL_COMDAT (function); DECL_WEAK (thunk) = DECL_WEAK (function); + if (DECL_VISIBILITY (function) == 0) + DECL_WEAK (thunk) = 1; + tree target_name = DECL_ASSEMBLER_NAME (function); unsigned identlen = IDENTIFIER_LENGTH (target_name) + 14; const char *ident = XNEWVEC (const char, identlen);