diff options
Diffstat (limited to 'lld/COFF/Symbols.h')
-rw-r--r-- | lld/COFF/Symbols.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lld/COFF/Symbols.h b/lld/COFF/Symbols.h index f9ece3ea4bf..48f9455875a 100644 --- a/lld/COFF/Symbols.h +++ b/lld/COFF/Symbols.h @@ -77,7 +77,8 @@ protected: friend SymbolTable; explicit Symbol(Kind K, StringRef N = "") : SymbolKind(K), IsExternal(true), IsCOMDAT(false), - PendingArchiveLoad(false), IsGCRoot(false), Name(N) {} + WrittenToSymtab(false), PendingArchiveLoad(false), IsGCRoot(false), + Name(N) {} const unsigned SymbolKind : 8; unsigned IsExternal : 1; @@ -86,6 +87,10 @@ protected: unsigned IsCOMDAT : 1; public: + // This bit is used by Writer::createSymbolAndStringTable() to prevent + // symbols from being written to the symbol table more than once. + unsigned WrittenToSymtab : 1; + // True if this symbol was referenced by a regular (non-bitcode) object. unsigned IsUsedInRegularObj : 1; |