COFF: add support for CONSTANT exports

The CONSTANT export type is marked as obsolete, but link still supports
this.  Furthermore, WinObjC uses this for certain exports.  Add support
for this export type.

llvm-svn: 301013
This commit is contained in:
Saleem Abdulrasool
2017-04-21 18:05:46 +00:00
parent 81acbf3daa
commit 72fbd346c6
7 changed files with 127 additions and 7 deletions

View File

@@ -38,6 +38,7 @@ enum Kind {
Comma,
Equal,
KwBase,
KwConstant,
KwData,
KwExports,
KwHeapsize,
@@ -92,6 +93,7 @@ public:
StringRef Word = Buf.substr(0, End);
Kind K = llvm::StringSwitch<Kind>(Word)
.Case("BASE", KwBase)
.Case("CONSTANT", KwConstant)
.Case("DATA", KwData)
.Case("EXPORTS", KwExports)
.Case("HEAPSIZE", KwHeapsize)
@@ -227,6 +229,11 @@ private:
E.Data = true;
continue;
}
if (Tok.K == KwConstant) {
warn("CONSTANT keyword is obsolete; use DATA");
E.Constant = true;
continue;
}
if (Tok.K == KwPrivate) {
E.Private = true;
continue;