summaryrefslogtreecommitdiffstats
path: root/lld/COFF/Symbols.h
diff options
context:
space:
mode:
Diffstat (limited to 'lld/COFF/Symbols.h')
-rw-r--r--lld/COFF/Symbols.h7
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;
OpenPOWER on IntegriCloud