Add plumbing for the `linker_private' linkage type. This type is meant for
"private" symbols which the assember shouldn't strip, but which the linker may remove after evaluation. This is mostly useful for Objective-C metadata. This is plumbing, so we don't have a use of it yet. More to come, etc. llvm-svn: 76385
This commit is contained in:
@@ -281,19 +281,20 @@ static unsigned getEncodedLinkage(const GlobalValue *GV) {
|
||||
switch (GV->getLinkage()) {
|
||||
default: llvm_unreachable("Invalid linkage!");
|
||||
case GlobalValue::GhostLinkage: // Map ghost linkage onto external.
|
||||
case GlobalValue::ExternalLinkage: return 0;
|
||||
case GlobalValue::WeakAnyLinkage: return 1;
|
||||
case GlobalValue::AppendingLinkage: return 2;
|
||||
case GlobalValue::InternalLinkage: return 3;
|
||||
case GlobalValue::LinkOnceAnyLinkage: return 4;
|
||||
case GlobalValue::DLLImportLinkage: return 5;
|
||||
case GlobalValue::DLLExportLinkage: return 6;
|
||||
case GlobalValue::ExternalWeakLinkage: return 7;
|
||||
case GlobalValue::CommonLinkage: return 8;
|
||||
case GlobalValue::PrivateLinkage: return 9;
|
||||
case GlobalValue::WeakODRLinkage: return 10;
|
||||
case GlobalValue::LinkOnceODRLinkage: return 11;
|
||||
case GlobalValue::AvailableExternallyLinkage: return 12;
|
||||
case GlobalValue::ExternalLinkage: return 0;
|
||||
case GlobalValue::WeakAnyLinkage: return 1;
|
||||
case GlobalValue::AppendingLinkage: return 2;
|
||||
case GlobalValue::InternalLinkage: return 3;
|
||||
case GlobalValue::LinkOnceAnyLinkage: return 4;
|
||||
case GlobalValue::DLLImportLinkage: return 5;
|
||||
case GlobalValue::DLLExportLinkage: return 6;
|
||||
case GlobalValue::ExternalWeakLinkage: return 7;
|
||||
case GlobalValue::CommonLinkage: return 8;
|
||||
case GlobalValue::PrivateLinkage: return 9;
|
||||
case GlobalValue::WeakODRLinkage: return 10;
|
||||
case GlobalValue::LinkOnceODRLinkage: return 11;
|
||||
case GlobalValue::AvailableExternallyLinkage: return 12;
|
||||
case GlobalValue::LinkerPrivateLinkage: return 13;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user