diff options
Diffstat (limited to 'lld/ELF/SymbolListFile.cpp')
-rw-r--r-- | lld/ELF/SymbolListFile.cpp | 26 |
1 files changed, 4 insertions, 22 deletions
diff --git a/lld/ELF/SymbolListFile.cpp b/lld/ELF/SymbolListFile.cpp index 1525540e259..68867cf8ae6 100644 --- a/lld/ELF/SymbolListFile.cpp +++ b/lld/ELF/SymbolListFile.cpp @@ -77,7 +77,6 @@ public: void run(); private: - void parseExtern(std::vector<SymbolVersion> *Globals); void parseVersion(StringRef Version); void parseLocal(); void parseVersionSymbols(StringRef Version); @@ -121,38 +120,21 @@ void VersionScriptParser::parseLocal() { Config->VersionScriptGlobalByDefault = false; } -void VersionScriptParser::parseExtern(std::vector<SymbolVersion> *Globals) { - expect("extern"); - expect("C++"); - expect("{"); - - for (;;) { - if (peek() == "}" || Error) - break; - Globals->push_back({next(), true}); - expect(";"); - } - - expect("}"); - expect(";"); -} - void VersionScriptParser::parseVersionSymbols(StringRef Version) { - std::vector<SymbolVersion> *Globals; + std::vector<StringRef> *Globals; if (Version.empty()) Globals = &Config->VersionScriptGlobals; else Globals = &Config->SymbolVersions.back().Globals; for (;;) { - if (peek() == "extern") - parseExtern(Globals); - StringRef Cur = peek(); + if (Cur == "extern") + setError("extern keyword is not supported"); if (Cur == "}" || Cur == "local:" || Error) return; next(); - Globals->push_back({Cur, false}); + Globals->push_back(Cur); expect(";"); } } |