-dllimport=defaultLibsOnly: Avoid -linkonce-templates requirement (#3816)

Via a sorts-of '-linkonce-templates light', only defining all *data*
symbols instantiated from druntime/Phobos templates in each
referencing CU.
This commit is contained in:
Martin Kinkelin 2021-09-11 04:53:21 +02:00 committed by GitHub
parent d9b2c936c9
commit 16b9eab374
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 35 additions and 34 deletions

View file

@ -80,9 +80,7 @@ cl::opt<DLLImport, true> dllimport(
"None (default with -link-defaultlib-shared=false)"),
clEnumValN(DLLImport::defaultLibsOnly, "defaultLibsOnly",
"Only druntime/Phobos symbols (default with "
"-link-defaultlib-shared and -fvisibility=hidden). May "
"likely need to be coupled with -linkonce-templates to "
"overcome linker errors wrt. instantiated symbols."),
"-link-defaultlib-shared and -fvisibility=hidden)."),
clEnumValN(DLLImport::all, "all",
"All (default with -link-defaultlib-shared and "
"-fvisibility=public)")));