<div dir="ltr"><div><div><div><div><div><div>All,<br><br></div>I'm upgrading some code that uses LLVM from 3.6 to 3.7. It looks like the llvm::cl::parser subclasses are now final?<br><br></div>We had been doing:<br><br>struct MaxThreadsParser : public llvm::cl::parser<unsigned> {<br>  bool parse(llvm::cl::Option &O, llvm::StringRef ArgName, llvm::StringRef Arg,<br>             unsigned &Val);<br>};<br><br></div>But that's now causing:<br><br>In file included from /home/lak/my_svn/llvm-carte/llvm-3.7.0/tools/carte++/tools/ir2v/ThreadSupport.cpp:1:<br>/home/lak/my_svn/llvm-carte/llvm-3.7.0/tools/carte++/tools/ir2v/ThreadSupport.h:12:34: error: <br>      base 'parser' is marked 'final'<br>struct MaxThreadsParser : public llvm::cl::parser<unsigned> {<br><br></div>What's the new way to do this now? It looks like the documentation at <a href="http://llvm.org/releases/3.7.0/docs/CommandLine.html#custom-parsers" target="_blank">http://llvm.org/releases/3.7.0/docs/CommandLine.html#custom-parsers</a> describes a way that doesn't work anymore.<br><br></div>Thanks,<br></div>Matt</div>