diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2017-06-10 13:44:06 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2017-06-10 13:44:06 +0000 | 
| commit | 7ab83427af0f77b59941ceba41d509d7d097b065 (patch) | |
| tree | cc41c05b1db454e3d802f34df75e636ee922ad87 /lib/Support/CommandLine.cpp | |
| parent | d288ef4c1788d3a951a7558c68312c2d320612b1 (diff) | |
Notes
Diffstat (limited to 'lib/Support/CommandLine.cpp')
| -rw-r--r-- | lib/Support/CommandLine.cpp | 18 | 
1 files changed, 8 insertions, 10 deletions
diff --git a/lib/Support/CommandLine.cpp b/lib/Support/CommandLine.cpp index 34345901eab1..de0ca940b405 100644 --- a/lib/Support/CommandLine.cpp +++ b/lib/Support/CommandLine.cpp @@ -2042,9 +2042,9 @@ void CommandLineParser::printOptionValues() {      Opts[i].second->printOptionValue(MaxArgLen, PrintAllOptions);  } -static void (*OverrideVersionPrinter)() = nullptr; +static VersionPrinterTy OverrideVersionPrinter = nullptr; -static std::vector<void (*)()> *ExtraVersionPrinters = nullptr; +static std::vector<VersionPrinterTy> *ExtraVersionPrinters = nullptr;  namespace {  class VersionPrinter { @@ -2084,7 +2084,7 @@ public:        return;      if (OverrideVersionPrinter != nullptr) { -      (*OverrideVersionPrinter)(); +      OverrideVersionPrinter(outs());        exit(0);      }      print(); @@ -2093,10 +2093,8 @@ public:      // information.      if (ExtraVersionPrinters != nullptr) {        outs() << '\n'; -      for (std::vector<void (*)()>::iterator I = ExtraVersionPrinters->begin(), -                                             E = ExtraVersionPrinters->end(); -           I != E; ++I) -        (*I)(); +      for (auto I : *ExtraVersionPrinters) +        I(outs());      }      exit(0); @@ -2134,11 +2132,11 @@ void cl::PrintHelpMessage(bool Hidden, bool Categorized) {  /// Utility function for printing version number.  void cl::PrintVersionMessage() { VersionPrinterInstance.print(); } -void cl::SetVersionPrinter(void (*func)()) { OverrideVersionPrinter = func; } +void cl::SetVersionPrinter(VersionPrinterTy func) { OverrideVersionPrinter = func; } -void cl::AddExtraVersionPrinter(void (*func)()) { +void cl::AddExtraVersionPrinter(VersionPrinterTy func) {    if (!ExtraVersionPrinters) -    ExtraVersionPrinters = new std::vector<void (*)()>; +    ExtraVersionPrinters = new std::vector<VersionPrinterTy>;    ExtraVersionPrinters->push_back(func);  }  | 
