================
@@ -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);
----------------
bd1976bris wrote:

Thanks. I thought that adding a new flag would mean that the behaviours of 1. 
`report_fatal_error` calling `abort()` and 2. The signal handler having usage 
or internal error behaviour were independent - which might be required. I'll 
update to just use gen_crash_diag - that will make for a smaller patch anyway.

As to why Windows has different behaviour - on Linux LLVM once called the 
signal handler for `report_fatal_error` IIUC but this seems to have changed in: 
https://github.com/llvm/llvm-project/commit/288999b82959d6a057bfd478a196961215baf792.

https://github.com/llvm/llvm-project/pull/140956
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to