Avoid copying parser objects
authorDavid Blaikie <dblaikie@gmail.com>
Wed, 4 Mar 2015 07:28:59 +0000 (07:28 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Wed, 4 Mar 2015 07:28:59 +0000 (07:28 +0000)
Use of their copy members is deprecated since they have a user-declared
dtor.

llvm-svn: 231220

llvm/include/llvm/Support/CommandLine.h

index 629fa46..5bfb221 100644 (file)
@@ -989,7 +989,7 @@ void printOptionDiff(const Option &O, const generic_parser_base &P, const DT &V,
 // This is instantiated for basic parsers when the parsed value has a different
 // type than the option value. e.g. HelpPrinter.
 template <class ParserDT, class ValDT> struct OptionDiffPrinter {
-  void print(const Option &O, const parser<ParserDT> P, const ValDT & /*V*/,
+  void print(const Option &O, const parser<ParserDT> &P, const ValDT & /*V*/,
              const OptionValue<ValDT> & /*Default*/, size_t GlobalWidth) {
     P.printOptionNoValue(O, GlobalWidth);
   }
@@ -998,7 +998,7 @@ template <class ParserDT, class ValDT> struct OptionDiffPrinter {
 // This is instantiated for basic parsers when the parsed value has the same
 // type as the option value.
 template <class DT> struct OptionDiffPrinter<DT, DT> {
-  void print(const Option &O, const parser<DT> P, const DT &V,
+  void print(const Option &O, const parser<DT> &P, const DT &V,
              const OptionValue<DT> &Default, size_t GlobalWidth) {
     P.printOptionDiff(O, V, Default, GlobalWidth);
   }