Devirtualize ScriptParserBase. NFC.

ScriptParserBase class is a container of collection of various methods
to parse linker script-ish text. It had a virtual method `run` to run
the parser. But we don't have to enforce its descendents to implement
that. It's up to them.

This patch removes pure virtual function `run`.

llvm-svn: 267246
diff --git a/lld/ELF/LinkerScript.cpp b/lld/ELF/LinkerScript.cpp
index 44246f4..5fad6e1 100644
--- a/lld/ELF/LinkerScript.cpp
+++ b/lld/ELF/LinkerScript.cpp
@@ -317,7 +317,7 @@
 public:
   ScriptParser(StringRef S, bool B) : ScriptParserBase(S), IsUnderSysroot(B) {}
 
-  void run() override;
+  void run();
 
 private:
   void addFile(StringRef Path);
diff --git a/lld/ELF/ScriptParser.h b/lld/ELF/ScriptParser.h
index 5da20f0..1f4b6d1 100644
--- a/lld/ELF/ScriptParser.h
+++ b/lld/ELF/ScriptParser.h
@@ -20,9 +20,6 @@
 class ScriptParserBase {
 public:
   ScriptParserBase(StringRef S) : Input(S), Tokens(tokenize(S)) {}
-  virtual ~ScriptParserBase() = default;
-
-  virtual void run() = 0;
 
 protected:
   void setError(const Twine &Msg);
diff --git a/lld/ELF/SymbolListFile.cpp b/lld/ELF/SymbolListFile.cpp
index 8323933..2c23bb4 100644
--- a/lld/ELF/SymbolListFile.cpp
+++ b/lld/ELF/SymbolListFile.cpp
@@ -34,7 +34,7 @@
 public:
   DynamicListParser(StringRef S) : ScriptParserBase(S) {}
 
-  void run() override;
+  void run();
 
 private:
   void readGroup();
@@ -75,7 +75,7 @@
 public:
   VersionScriptParser(StringRef S) : ScriptParserBase(S) {}
 
-  void run() override;
+  void run();
 };
 
 void VersionScriptParser::run() {