[llvm] Add thread-local overrides for `llvm::errs()` and `llvm::outs()`. (PR #90374)
Chandler Carruth via llvm-commits
llvm-commits at lists.llvm.org
Wed May 1 01:08:57 PDT 2024
================
@@ -893,7 +893,14 @@ void raw_fd_ostream::anchor() {}
// outs(), errs(), nulls()
//===----------------------------------------------------------------------===//
+static thread_local raw_fd_ostream *OutsOverride = nullptr;
+static thread_local raw_fd_ostream *ErrsOverride = nullptr;
+
raw_fd_ostream &llvm::outs() {
+ if (auto *TLSOuts = OutsOverride; TLSOuts != nullptr) {
+ return *TLSOuts;
+ }
+
----------------
chandlerc wrote:
Doh, sorry, forgot that LLVM had the different brace style. Thanks, and fixed!
https://github.com/llvm/llvm-project/pull/90374
More information about the llvm-commits
mailing list