mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-30 02:25:19 +00:00
Change the linker_private_weak_def_auto' linkage to
linkonce_odr_auto_hide' to
make it more consistent with its intended semantics. The `linker_private_weak_def_auto' linkage type was meant to automatically hide globals which never had their addresses taken. It has nothing to do with the `linker_private' linkage type, which outputs the symbols with a `l' (ell) prefix among other things. The intended semantic is more like the `linkonce_odr' linkage type. Change the name of the linkage type to `linkonce_odr_auto_hide'. And therefore changing the semantics so that it produces the correct output for the linker. Note: The old linkage name `linker_private_weak_def_auto' will still parse but is not a synonym for `linkonce_odr_auto_hide'. This should be removed in 4.0. <rdar://problem/11754934> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162114 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -285,14 +285,14 @@ void CppWriter::printLinkageType(GlobalValue::LinkageTypes LT) {
|
||||
Out << "GlobalValue::LinkerPrivateLinkage"; break;
|
||||
case GlobalValue::LinkerPrivateWeakLinkage:
|
||||
Out << "GlobalValue::LinkerPrivateWeakLinkage"; break;
|
||||
case GlobalValue::LinkerPrivateWeakDefAutoLinkage:
|
||||
Out << "GlobalValue::LinkerPrivateWeakDefAutoLinkage"; break;
|
||||
case GlobalValue::AvailableExternallyLinkage:
|
||||
Out << "GlobalValue::AvailableExternallyLinkage "; break;
|
||||
case GlobalValue::LinkOnceAnyLinkage:
|
||||
Out << "GlobalValue::LinkOnceAnyLinkage "; break;
|
||||
case GlobalValue::LinkOnceODRLinkage:
|
||||
Out << "GlobalValue::LinkOnceODRLinkage "; break;
|
||||
case GlobalValue::LinkOnceODRAutoHideLinkage:
|
||||
Out << "GlobalValue::LinkOnceODRAutoHideLinkage"; break;
|
||||
case GlobalValue::WeakAnyLinkage:
|
||||
Out << "GlobalValue::WeakAnyLinkage"; break;
|
||||
case GlobalValue::WeakODRLinkage:
|
||||
|
Reference in New Issue
Block a user