================
@@ -56,19 +56,41 @@ class Status {
   ///
   /// \param[in] type
   ///     The type for \a err.
-  explicit Status(ValueType err,
-                  lldb::ErrorType type = lldb::eErrorTypeGeneric);
+  explicit Status(ValueType err, lldb::ErrorType type = 
lldb::eErrorTypeGeneric,
+                  llvm::StringRef msg = {});
 
   Status(std::error_code EC);
 
-  explicit Status(const char *format, ...)
-      __attribute__((format(printf, 2, 3)));
+  /// Create a generic error with the message err_str.
+  explicit Status(std::string &&err_str);
+  /// Create a generic error with the message err_str.
+  explicit Status(llvm::StringRef err_str);
+
+  static Status FromErrorString(const char *format) {
+    if (format)
+      return Status(std::string(format));
+    return Status(std::string("null error"));
----------------
adrian-prantl wrote:

Note that Status stores a `std::string` internally and there's a 
`Status(std::string&&)` constructor at work here.

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

Reply via email to