Index: lld/wasm/Driver.cpp =================================================================== --- lld/wasm/Driver.cpp +++ lld/wasm/Driver.cpp @@ -33,15 +33,9 @@ using namespace lld; using namespace lld::wasm; -namespace { - -// Parses command line options. -class WasmOptTable : public llvm::opt::OptTable { -public: - WasmOptTable(); - llvm::opt::InputArgList parse(ArrayRef Argv); -}; +Configuration *lld::wasm::Config; +namespace { // Create enum with OPT_xxx values for each option in Options.td enum { OPT_INVALID = 0, @@ -55,16 +49,13 @@ void link(ArrayRef ArgsArr); private: - void createFiles(llvm::opt::InputArgList &Args); + void createFiles(opt::InputArgList &Args); void addFile(StringRef Path); void addLibrary(StringRef Name); std::vector Files; }; - } // anonymous namespace -Configuration *lld::wasm::Config; - bool lld::wasm::link(ArrayRef Args, bool CanExitEarly, raw_ostream &Error) { errorHandler().LogName = Args[0]; @@ -89,8 +80,6 @@ return !errorCount(); } -// Create OptTable - // Create prefix string literals used in Options.td #define PREFIX(NAME, VALUE) const char *const NAME[] = VALUE; #include "Options.inc" @@ -105,6 +94,12 @@ #undef OPTION }; +class WasmOptTable : public llvm::opt::OptTable { +public: + WasmOptTable() : OptTable(OptInfo) {} + opt::InputArgList parse(ArrayRef Argv); +}; + // Set color diagnostics according to -color-diagnostics={auto,always,never} // or -no-color-diagnostics flags. static void handleColorDiagnostics(opt::InputArgList &Args) { @@ -141,8 +136,6 @@ WasmOptTable().PrintHelp(outs(), Argv0, "LLVM Linker", false); } -WasmOptTable::WasmOptTable() : OptTable(OptInfo) {} - opt::InputArgList WasmOptTable::parse(ArrayRef Argv) { SmallVector Vec(Argv.data(), Argv.data() + Argv.size());