[clang] [lld] [llvm] [mlir] [LLVM][Windows] Elide `PrettyStackTrace` output for usage errors (PR #140956)

Nikita Popov via cfe-commits cfe-commits at lists.llvm.org
Thu May 22 03:30:06 PDT 2025


================
@@ -61,11 +61,14 @@ struct ScopedFatalErrorHandler {
 /// @deprecated Use reportFatalInternalError() or reportFatalUsageError()
 /// instead.
 [[noreturn]] LLVM_ABI void report_fatal_error(const char *reason,
-                                              bool gen_crash_diag = true);
+                                              bool gen_crash_diag = true,
+                                              bool is_usage_error = false);
 [[noreturn]] LLVM_ABI void report_fatal_error(StringRef reason,
-                                              bool gen_crash_diag = true);
+                                              bool gen_crash_diag = true,
+                                              bool is_usage_error = false);
 [[noreturn]] LLVM_ABI void report_fatal_error(const Twine &reason,
-                                              bool gen_crash_diag = true);
+                                              bool gen_crash_diag = true,
+                                              bool is_usage_error = false);
----------------
nikic wrote:

My remaining question here would be whether we actually need the ExecuteSignalHandlers argument on RunInterruptHandlers, or can always assume it is false like on Linux. If I understood things correctly, the way this is supposed to work is that if GenCrashDiag is true then the following abort() is going to run the signal handlers anyway?

https://github.com/llvm/llvm-project/pull/140956


More information about the cfe-commits mailing list