[all-commits] [llvm/llvm-project] e463b6: [Support] Change fatal_error_handler_t to take a c...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Tue Oct 5 02:55:58 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e463b69736da8b0a950ecd937cf990401bdfcdeb
      https://github.com/llvm/llvm-project/commit/e463b69736da8b0a950ecd937cf990401bdfcdeb
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2021-10-05 (Tue, 05 Oct 2021)

  Changed paths:
    M clang/tools/clang-repl/ClangRepl.cpp
    M clang/tools/driver/cc1_main.cpp
    M clang/tools/driver/cc1as_main.cpp
    M clang/tools/libclang/FatalErrorHandler.cpp
    M llvm/include/llvm/Support/ErrorHandling.h
    M llvm/lib/Support/ErrorHandling.cpp
    M llvm/tools/llvm-as-fuzzer/llvm-as-fuzzer.cpp
    M llvm/tools/llvm-isel-fuzzer/llvm-isel-fuzzer.cpp
    M llvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp

  Log Message:
  -----------
  [Support] Change fatal_error_handler_t to take a const char* instead of std::string

https://commondatastorage.googleapis.com/chromium-browser-clang/llvm-include-analysis.html

Excessive use of the <string> header has a massive impact on compile time; its most commonly included via the ErrorHandling.h header, which has to be included in many key headers, impacting many source files that have no need for std::string.

As an initial step toward removing the <string> include from ErrorHandling.h, this patch proposes to update the fatal_error_handler_t handler to just take a raw const char* instead.

The next step will be to remove the report_fatal_error std::string variant, which will involve a lot of cleanup and better use of Twine/StringRef.

Differential Revision: https://reviews.llvm.org/D111049




More information about the All-commits mailing list