hintonda updated this revision to Diff 230131.
hintonda added a comment.

- Add back original llvm::cantFail signatures so they'll still be


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D70259/new/

https://reviews.llvm.org/D70259

Files:
  clang-tools-extra/clangd/index/Serialization.cpp
  clang-tools-extra/clangd/refactor/tweaks/ExpandMacro.cpp
  clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
  clang-tools-extra/clangd/unittests/FormatTests.cpp
  clang-tools-extra/clangd/unittests/HeaderSourceSwitchTests.cpp
  clang-tools-extra/clangd/unittests/RenameTests.cpp
  clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
  clang-tools-extra/clangd/unittests/SemanticSelectionTests.cpp
  clang-tools-extra/clangd/unittests/SourceCodeTests.cpp
  clang-tools-extra/clangd/unittests/TweakTesting.cpp
  clang-tools-extra/clangd/unittests/XRefsTests.cpp
  clang/lib/AST/ExternalASTMerger.cpp
  clang/lib/Tooling/Core/Replacement.cpp
  clang/lib/Tooling/Tooling.cpp
  clang/tools/clang-refactor/ClangRefactor.cpp
  clang/unittests/Basic/DiagnosticTest.cpp
  lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
  lldb/source/Plugins/SymbolFile/NativePDB/CompileUnitIndex.cpp
  lldb/source/Plugins/SymbolFile/NativePDB/DWARFLocationExpression.cpp
  lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
  lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.cpp
  lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
  lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
  lldb/unittests/Target/ExecutionContextTest.cpp
  llvm/include/llvm/Support/Error.h
  llvm/unittests/Support/ErrorTest.cpp

Index: llvm/unittests/Support/ErrorTest.cpp
===================================================================
--- llvm/unittests/Support/ErrorTest.cpp
+++ llvm/unittests/Support/ErrorTest.cpp
@@ -390,8 +390,8 @@
   };
 
   EXPECT_DEATH(FailToHandle(),
-               "Failure value returned from cantFail wrapped call\n"
-               "CustomError \\{7\\}")
+               "CustomError \\{7\\}\n"
+               "Failure value returned from cantFail wrapped call")
       << "Unhandled Error in handleAllErrors call did not cause an "
          "abort()";
 }
@@ -410,8 +410,8 @@
   };
 
   EXPECT_DEATH(ReturnErrorFromHandler(),
-               "Failure value returned from cantFail wrapped call\n"
-               "CustomError \\{7\\}")
+               "CustomError \\{7\\}\n"
+               "Failure value returned from cantFail wrapped call")
       << " Error returned from handler in handleAllErrors call did not "
          "cause abort()";
 }
@@ -515,8 +515,8 @@
   EXPECT_DEATH(cantFail(make_error<StringError>("Original error message",
                                                 inconvertibleErrorCode()),
                         "Cantfail call failed"),
-               "Cantfail call failed\n"
-               "Original error message")
+               "Original error message\n"
+               "Cantfail call failed")
       << "cantFail(Error) did not cause an abort for failure value";
 
   EXPECT_DEATH(
@@ -530,6 +530,24 @@
 }
 #endif
 
+TEST(Error, CantFailSourceLocation) {
+  std::string ErrStr;
+  raw_string_ostream OS(ErrStr);
+  OS << "\nFailure value returned from cantFail wrapped call";
+
+#if defined(NDEBUG)
+  // __FILE__ and __LINE_ not added
+  OS << "\n";
+  EXPECT_DEATH(cantFail(make_error<CustomError>(1)), OS.str())
+      << "cantFail(Error) did not cause an abort for failure value";
+#else
+  // __FILE__ and __LINE__ added
+  int Line = __LINE__;
+  OS << " at " << __FILE__ << ":" << (Line + 2) << "\n";
+  EXPECT_DEATH(cantFail(make_error<CustomError>(1)), OS.str())
+      << "cantFail(Error) did not cause an abort for failure value";
+#endif
+}
 
 // Test Checked Expected<T> in success mode.
 TEST(Error, CheckedExpectedInSuccessMode) {
Index: llvm/include/llvm/Support/Error.h
===================================================================
--- llvm/include/llvm/Support/Error.h
+++ llvm/include/llvm/Support/Error.h
@@ -687,6 +687,48 @@
 LLVM_ATTRIBUTE_NORETURN void report_fatal_error(Error Err,
                                                 bool gen_crash_diag = true);
 
+namespace detail {
+
+inline LLVM_ATTRIBUTE_NORETURN void handleError(Error Err, const char *Msg,
+                                                const char *file = nullptr,
+                                                unsigned line = 0) {
+  if (!Msg)
+    Msg = "Failure value returned from cantFail wrapped call";
+#ifndef NDEBUG
+  std::string Str;
+  raw_string_ostream OS(Str);
+  OS << Err << "\n" << Msg;
+  if (file)
+    OS << " at " << file << ":" << line;
+  Msg = OS.str().c_str();
+#endif
+  llvm_unreachable(Msg);
+}
+
+inline void cantFail(const char *file, unsigned line, Error Err,
+                     const char *Msg = nullptr) {
+  if (Err)
+    handleError(std::move(Err), Msg, file, line);
+}
+
+template <typename T>
+T cantFail(const char *file, unsigned line, Expected<T> ValOrErr,
+           const char *Msg = nullptr) {
+  if (ValOrErr)
+    return std::move(*ValOrErr);
+  handleError(std::move(ValOrErr.takeError()), Msg, file, line);
+}
+
+template <typename T>
+T &cantFail(const char *file, unsigned line, Expected<T &> ValOrErr,
+            const char *Msg = nullptr) {
+  if (ValOrErr)
+    return *ValOrErr;
+  handleError(std::move(ValOrErr.takeError()), Msg, file, line);
+}
+
+} // namespace detail
+
 /// Report a fatal error if Err is a failure value.
 ///
 /// This function can be used to wrap calls to fallible functions ONLY when it
@@ -701,17 +743,8 @@
 ///   cantFail(foo(false));
 ///   @endcode
 inline void cantFail(Error Err, const char *Msg = nullptr) {
-  if (Err) {
-    if (!Msg)
-      Msg = "Failure value returned from cantFail wrapped call";
-#ifndef NDEBUG
-    std::string Str;
-    raw_string_ostream OS(Str);
-    OS << Msg << "\n" << Err;
-    Msg = OS.str().c_str();
-#endif
-    llvm_unreachable(Msg);
-  }
+  if (Err)
+    detail::handleError(std::move(Err), Msg);
 }
 
 /// Report a fatal error if ValOrErr is a failure value, otherwise unwraps and
@@ -731,18 +764,7 @@
 T cantFail(Expected<T> ValOrErr, const char *Msg = nullptr) {
   if (ValOrErr)
     return std::move(*ValOrErr);
-  else {
-    if (!Msg)
-      Msg = "Failure value returned from cantFail wrapped call";
-#ifndef NDEBUG
-    std::string Str;
-    raw_string_ostream OS(Str);
-    auto E = ValOrErr.takeError();
-    OS << Msg << "\n" << E;
-    Msg = OS.str().c_str();
-#endif
-    llvm_unreachable(Msg);
-  }
+  detail::handleError(std::move(ValOrErr.takeError()), Msg);
 }
 
 /// Report a fatal error if ValOrErr is a failure value, otherwise unwraps and
@@ -759,22 +781,17 @@
 ///   Bar &X = cantFail(foo(false));
 ///   @endcode
 template <typename T>
-T& cantFail(Expected<T&> ValOrErr, const char *Msg = nullptr) {
+T &cantFail(Expected<T &> ValOrErr, const char *Msg = nullptr) {
   if (ValOrErr)
     return *ValOrErr;
-  else {
-    if (!Msg)
-      Msg = "Failure value returned from cantFail wrapped call";
+  detail::handleError(std::move(ValOrErr.takeError()), Msg);
+}
+
 #ifndef NDEBUG
-    std::string Str;
-    raw_string_ostream OS(Str);
-    auto E = ValOrErr.takeError();
-    OS << Msg << "\n" << E;
-    Msg = OS.str().c_str();
+#define cantFail(...) ::llvm::detail::cantFail(__FILE__, __LINE__, __VA_ARGS__)
+#else
+#define cantFail(...) ::llvm::detail::cantFail(nullptr, 0, __VA_ARGS__)
 #endif
-    llvm_unreachable(Msg);
-  }
-}
 
 /// Helper for testing applicability of, and applying, handlers for
 /// ErrorInfo types.
Index: lldb/unittests/Target/ExecutionContextTest.cpp
===================================================================
--- lldb/unittests/Target/ExecutionContextTest.cpp
+++ lldb/unittests/Target/ExecutionContextTest.cpp
@@ -32,7 +32,7 @@
 class ExecutionContextTest : public ::testing::Test {
 public:
   void SetUp() override {
-    llvm::cantFail(Reproducer::Initialize(ReproducerMode::Off, llvm::None));
+    cantFail(Reproducer::Initialize(ReproducerMode::Off, llvm::None));
     FileSystem::Initialize();
     HostInfo::Initialize();
     platform_linux::PlatformLinux::Initialize();
Index: lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
===================================================================
--- lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
+++ lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
@@ -35,14 +35,14 @@
   CVType cvt = m_tpi.getType(m_id.index);
   switch (cvt.kind()) {
   case LF_ENUM:
-    llvm::cantFail(TypeDeserializer::deserializeAs<EnumRecord>(cvt, m_cvr.er));
+    cantFail(TypeDeserializer::deserializeAs<EnumRecord>(cvt, m_cvr.er));
     break;
   case LF_UNION:
-    llvm::cantFail(TypeDeserializer::deserializeAs<UnionRecord>(cvt, m_cvr.ur));
+    cantFail(TypeDeserializer::deserializeAs<UnionRecord>(cvt, m_cvr.ur));
     break;
   case LF_CLASS:
   case LF_STRUCTURE:
-    llvm::cantFail(TypeDeserializer::deserializeAs<ClassRecord>(cvt, m_cvr.cr));
+    cantFail(TypeDeserializer::deserializeAs<ClassRecord>(cvt, m_cvr.cr));
     break;
   default:
     llvm_unreachable("unreachable!");
@@ -152,7 +152,7 @@
     CVType cvt = m_tpi.getType(ti);
     if (cvt.kind() == LF_BITFIELD) {
       BitFieldRecord bfr;
-      llvm::cantFail(TypeDeserializer::deserializeAs<BitFieldRecord>(cvt, bfr));
+      cantFail(TypeDeserializer::deserializeAs<BitFieldRecord>(cvt, bfr));
       offset += bfr.BitOffset;
       bitfield_width = bfr.BitSize;
       ti = bfr.Type;
@@ -191,7 +191,7 @@
   assert(method_list_type.kind() == LF_METHODLIST);
 
   MethodOverloadListRecord method_list;
-  llvm::cantFail(TypeDeserializer::deserializeAs<MethodOverloadListRecord>(
+  cantFail(TypeDeserializer::deserializeAs<MethodOverloadListRecord>(
       method_list_type, method_list));
 
   for (const OneMethodRecord &method : method_list.Methods)
Index: lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
===================================================================
--- lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
+++ lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
@@ -631,50 +631,50 @@
 
   if (cvt.kind() == LF_MODIFIER) {
     ModifierRecord modifier;
-    llvm::cantFail(
+    cantFail(
         TypeDeserializer::deserializeAs<ModifierRecord>(cvt, modifier));
     return CreateModifierType(type_id, modifier, ct);
   }
 
   if (cvt.kind() == LF_POINTER) {
     PointerRecord pointer;
-    llvm::cantFail(
+    cantFail(
         TypeDeserializer::deserializeAs<PointerRecord>(cvt, pointer));
     return CreatePointerType(type_id, pointer, ct);
   }
 
   if (IsClassRecord(cvt.kind())) {
     ClassRecord cr;
-    llvm::cantFail(TypeDeserializer::deserializeAs<ClassRecord>(cvt, cr));
+    cantFail(TypeDeserializer::deserializeAs<ClassRecord>(cvt, cr));
     return CreateTagType(type_id, cr, ct);
   }
 
   if (cvt.kind() == LF_ENUM) {
     EnumRecord er;
-    llvm::cantFail(TypeDeserializer::deserializeAs<EnumRecord>(cvt, er));
+    cantFail(TypeDeserializer::deserializeAs<EnumRecord>(cvt, er));
     return CreateTagType(type_id, er, ct);
   }
 
   if (cvt.kind() == LF_UNION) {
     UnionRecord ur;
-    llvm::cantFail(TypeDeserializer::deserializeAs<UnionRecord>(cvt, ur));
+    cantFail(TypeDeserializer::deserializeAs<UnionRecord>(cvt, ur));
     return CreateTagType(type_id, ur, ct);
   }
 
   if (cvt.kind() == LF_ARRAY) {
     ArrayRecord ar;
-    llvm::cantFail(TypeDeserializer::deserializeAs<ArrayRecord>(cvt, ar));
+    cantFail(TypeDeserializer::deserializeAs<ArrayRecord>(cvt, ar));
     return CreateArrayType(type_id, ar, ct);
   }
 
   if (cvt.kind() == LF_PROCEDURE) {
     ProcedureRecord pr;
-    llvm::cantFail(TypeDeserializer::deserializeAs<ProcedureRecord>(cvt, pr));
+    cantFail(TypeDeserializer::deserializeAs<ProcedureRecord>(cvt, pr));
     return CreateProcedureType(type_id, pr, ct);
   }
   if (cvt.kind() == LF_MFUNCTION) {
     MemberFunctionRecord mfr;
-    llvm::cantFail(TypeDeserializer::deserializeAs<MemberFunctionRecord>(cvt, mfr));
+    cantFail(TypeDeserializer::deserializeAs<MemberFunctionRecord>(cvt, mfr));
     return CreateFunctionType(type_id, mfr, ct);
   }
 
@@ -758,7 +758,7 @@
     LLVM_FALLTHROUGH;
   case S_LDATA32: {
     DataSym ds(sym.kind());
-    llvm::cantFail(SymbolDeserializer::deserializeAs<DataSym>(sym, ds));
+    cantFail(SymbolDeserializer::deserializeAs<DataSym>(sym, ds));
     ti = ds.Type;
     scope = (sym.kind() == S_GDATA32) ? eValueTypeVariableGlobal
                                       : eValueTypeVariableStatic;
@@ -773,7 +773,7 @@
     LLVM_FALLTHROUGH;
   case S_LTHREAD32: {
     ThreadLocalDataSym tlds(sym.kind());
-    llvm::cantFail(
+    cantFail(
         SymbolDeserializer::deserializeAs<ThreadLocalDataSym>(sym, tlds));
     ti = tlds.Type;
     name = tlds.Name;
@@ -822,7 +822,7 @@
   TpiStream &tpi = m_index->tpi();
   ConstantSym constant(cvs.kind());
 
-  llvm::cantFail(SymbolDeserializer::deserializeAs<ConstantSym>(cvs, constant));
+  cantFail(SymbolDeserializer::deserializeAs<ConstantSym>(cvs, constant));
   std::string global_name("::");
   global_name += constant.Name;
   PdbTypeSymId tid(constant.Type, false);
@@ -1303,7 +1303,7 @@
     if (sym.kind() != S_UDT)
       continue;
 
-    UDTSym udt = llvm::cantFail(SymbolDeserializer::deserializeAs<UDTSym>(sym));
+    UDTSym udt = cantFail(SymbolDeserializer::deserializeAs<UDTSym>(sym));
     bool is_typedef = true;
     if (IsTagRecord(PdbTypeSymId{udt.Type, false}, m_index->tpi())) {
       CVType cvt = m_index->tpi().getType(udt.Type);
@@ -1376,7 +1376,7 @@
   CVSymbol sym = m_index->ReadSymbolRecord(id);
   lldbassert(sym.kind() == SymbolKind::S_UDT);
 
-  UDTSym udt = llvm::cantFail(SymbolDeserializer::deserializeAs<UDTSym>(sym));
+  UDTSym udt = cantFail(SymbolDeserializer::deserializeAs<UDTSym>(sym));
 
   TypeSP target_type = GetOrCreateType(udt.Type);
 
Index: lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.cpp
===================================================================
--- lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.cpp
+++ lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.cpp
@@ -55,17 +55,17 @@
   case LF_STRUCTURE:
   case LF_INTERFACE: {
     ClassRecord cr;
-    llvm::cantFail(TypeDeserializer::deserializeAs<ClassRecord>(type, cr));
+    cantFail(TypeDeserializer::deserializeAs<ClassRecord>(type, cr));
     return CVTagRecord(std::move(cr));
   }
   case LF_UNION: {
     UnionRecord ur;
-    llvm::cantFail(TypeDeserializer::deserializeAs<UnionRecord>(type, ur));
+    cantFail(TypeDeserializer::deserializeAs<UnionRecord>(type, ur));
     return CVTagRecord(std::move(ur));
   }
   case LF_ENUM: {
     EnumRecord er;
-    llvm::cantFail(TypeDeserializer::deserializeAs<EnumRecord>(type, er));
+    cantFail(TypeDeserializer::deserializeAs<EnumRecord>(type, er));
     return CVTagRecord(std::move(er));
   }
   default:
@@ -354,13 +354,13 @@
   case LF_CLASS:
   case LF_STRUCTURE:
   case LF_INTERFACE:
-    llvm::cantFail(TypeDeserializer::deserializeAs<ClassRecord>(cvt, cr));
+    cantFail(TypeDeserializer::deserializeAs<ClassRecord>(cvt, cr));
     return cr.isForwardRef();
   case LF_UNION:
-    llvm::cantFail(TypeDeserializer::deserializeAs<UnionRecord>(cvt, ur));
+    cantFail(TypeDeserializer::deserializeAs<UnionRecord>(cvt, ur));
     return ur.isForwardRef();
   case LF_ENUM:
-    llvm::cantFail(TypeDeserializer::deserializeAs<EnumRecord>(cvt, er));
+    cantFail(TypeDeserializer::deserializeAs<EnumRecord>(cvt, er));
     return er.isForwardRef();
   default:
     return false;
@@ -445,7 +445,7 @@
 TypeIndex lldb_private::npdb::LookThroughModifierRecord(CVType modifier) {
   lldbassert(modifier.kind() == LF_MODIFIER);
   ModifierRecord mr;
-  llvm::cantFail(TypeDeserializer::deserializeAs<ModifierRecord>(modifier, mr));
+  cantFail(TypeDeserializer::deserializeAs<ModifierRecord>(modifier, mr));
   return mr.ModifiedType;
 }
 
@@ -819,12 +819,12 @@
   if (!IsForwardRefUdt(cvt))
     return id;
 
-  return llvm::cantFail(tpi.findFullDeclForForwardRef(id.index));
+  return cantFail(tpi.findFullDeclForForwardRef(id.index));
 }
 
 template <typename RecordType> static size_t GetSizeOfTypeInternal(CVType cvt) {
   RecordType record;
-  llvm::cantFail(TypeDeserializer::deserializeAs<RecordType>(cvt, record));
+  cantFail(TypeDeserializer::deserializeAs<RecordType>(cvt, record));
   return record.getSize();
 }
 
@@ -849,7 +849,7 @@
 
   TypeIndex index = id.index;
   if (IsForwardRefUdt(index, tpi))
-    index = llvm::cantFail(tpi.findFullDeclForForwardRef(index));
+    index = cantFail(tpi.findFullDeclForForwardRef(index));
 
   CVType cvt = tpi.getType(index);
   switch (cvt.kind()) {
@@ -857,7 +857,7 @@
     return GetSizeOfType({LookThroughModifierRecord(cvt)}, tpi);
   case LF_ENUM: {
     EnumRecord record;
-    llvm::cantFail(TypeDeserializer::deserializeAs<EnumRecord>(cvt, record));
+    cantFail(TypeDeserializer::deserializeAs<EnumRecord>(cvt, record));
     return GetSizeOfType({record.UnderlyingType}, tpi);
   }
   case LF_POINTER:
Index: lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
===================================================================
--- lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
+++ lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
@@ -415,7 +415,7 @@
         CVSymbol s1 = syms.readRecord(x);
         lldbassert(s1.kind() == S_PUB32);
         PublicSym32 p1;
-        llvm::cantFail(SymbolDeserializer::deserializeAs<PublicSym32>(s1, p1));
+        cantFail(SymbolDeserializer::deserializeAs<PublicSym32>(s1, p1));
         if (p1.Segment < y.segment)
           return true;
         return p1.Offset < y.offset;
@@ -425,7 +425,7 @@
   CVSymbol sym = syms.readRecord(*iter);
   lldbassert(sym.kind() == S_PUB32);
   PublicSym32 p;
-  llvm::cantFail(SymbolDeserializer::deserializeAs<PublicSym32>(sym, p));
+  cantFail(SymbolDeserializer::deserializeAs<PublicSym32>(sym, p));
   if (p.Segment == addr.segment && p.Offset == addr.offset)
     return p;
   return llvm::None;
@@ -614,7 +614,7 @@
     case SymbolKind::S_PROCREF:
     case SymbolKind::S_LPROCREF: {
       ProcRefSym ref{global.kind()};
-      llvm::cantFail(
+      cantFail(
           SymbolDeserializer::deserializeAs<ProcRefSym>(global, ref));
       PdbCompilandSymId cu_sym_id{ref.modi(), ref.SymOffset};
       return GetParentDeclContext(cu_sym_id);
@@ -872,7 +872,7 @@
 
   CVSymbol sym = m_index.ReadSymbolRecord(id);
   lldbassert(sym.kind() == S_UDT);
-  UDTSym udt = llvm::cantFail(SymbolDeserializer::deserializeAs<UDTSym>(sym));
+  UDTSym udt = cantFail(SymbolDeserializer::deserializeAs<UDTSym>(sym));
 
   clang::DeclContext *scope = GetParentDeclContext(id);
 
@@ -904,14 +904,14 @@
 
   if (cvt.kind() == LF_MODIFIER) {
     ModifierRecord modifier;
-    llvm::cantFail(
+    cantFail(
         TypeDeserializer::deserializeAs<ModifierRecord>(cvt, modifier));
     return CreateModifierType(modifier);
   }
 
   if (cvt.kind() == LF_POINTER) {
     PointerRecord pointer;
-    llvm::cantFail(
+    cantFail(
         TypeDeserializer::deserializeAs<PointerRecord>(cvt, pointer));
     return CreatePointerType(pointer);
   }
@@ -927,19 +927,19 @@
 
   if (cvt.kind() == LF_ARRAY) {
     ArrayRecord ar;
-    llvm::cantFail(TypeDeserializer::deserializeAs<ArrayRecord>(cvt, ar));
+    cantFail(TypeDeserializer::deserializeAs<ArrayRecord>(cvt, ar));
     return CreateArrayType(ar);
   }
 
   if (cvt.kind() == LF_PROCEDURE) {
     ProcedureRecord pr;
-    llvm::cantFail(TypeDeserializer::deserializeAs<ProcedureRecord>(cvt, pr));
+    cantFail(TypeDeserializer::deserializeAs<ProcedureRecord>(cvt, pr));
     return CreateFunctionType(pr.ArgumentList, pr.ReturnType, pr.CallConv);
   }
 
   if (cvt.kind() == LF_MFUNCTION) {
     MemberFunctionRecord mfr;
-    llvm::cantFail(
+    cantFail(
         TypeDeserializer::deserializeAs<MemberFunctionRecord>(cvt, mfr));
     return CreateFunctionType(mfr.ArgumentList, mfr.ReturnType, mfr.CallConv);
   }
@@ -994,7 +994,7 @@
 
   CVSymbol cvs = m_index.ReadSymbolRecord(func_id);
   ProcSym proc(static_cast<SymbolRecordKind>(cvs.kind()));
-  llvm::cantFail(SymbolDeserializer::deserializeAs<ProcSym>(cvs, proc));
+  cantFail(SymbolDeserializer::deserializeAs<ProcSym>(cvs, proc));
 
   PdbTypeSymId type_id(proc.FunctionType);
   clang::QualType qt = GetOrCreateType(type_id);
@@ -1131,7 +1131,7 @@
   TpiStream &stream = m_index.tpi();
   CVType args_cvt = stream.getType(args_type_idx);
   ArgListRecord args;
-  llvm::cantFail(
+  cantFail(
       TypeDeserializer::deserializeAs<ArgListRecord>(args_cvt, args));
 
   llvm::ArrayRef<TypeIndex> arg_indices = llvm::makeArrayRef(args.ArgIndices);
Index: lldb/source/Plugins/SymbolFile/NativePDB/DWARFLocationExpression.cpp
===================================================================
--- lldb/source/Plugins/SymbolFile/NativePDB/DWARFLocationExpression.cpp
+++ lldb/source/Plugins/SymbolFile/NativePDB/DWARFLocationExpression.cpp
@@ -84,17 +84,17 @@
   switch (cvt.kind()) {
   case LF_MODIFIER: {
     ModifierRecord mfr;
-    llvm::cantFail(TypeDeserializer::deserializeAs<ModifierRecord>(cvt, mfr));
+    cantFail(TypeDeserializer::deserializeAs<ModifierRecord>(cvt, mfr));
     return GetIntegralTypeInfo(mfr.ModifiedType, tpi);
   }
   case LF_POINTER: {
     PointerRecord pr;
-    llvm::cantFail(TypeDeserializer::deserializeAs<PointerRecord>(cvt, pr));
+    cantFail(TypeDeserializer::deserializeAs<PointerRecord>(cvt, pr));
     return GetIntegralTypeInfo(pr.ReferentType, tpi);
   }
   case LF_ENUM: {
     EnumRecord er;
-    llvm::cantFail(TypeDeserializer::deserializeAs<EnumRecord>(cvt, er));
+    cantFail(TypeDeserializer::deserializeAs<EnumRecord>(cvt, er));
     return GetIntegralTypeInfo(er.UnderlyingType, tpi);
   }
   default:
Index: lldb/source/Plugins/SymbolFile/NativePDB/CompileUnitIndex.cpp
===================================================================
--- lldb/source/Plugins/SymbolFile/NativePDB/CompileUnitIndex.cpp
+++ lldb/source/Plugins/SymbolFile/NativePDB/CompileUnitIndex.cpp
@@ -48,20 +48,20 @@
 
 static void ParseCompile3(const CVSymbol &sym, CompilandIndexItem &cci) {
   cci.m_compile_opts.emplace();
-  llvm::cantFail(
+  cantFail(
       SymbolDeserializer::deserializeAs<Compile3Sym>(sym, *cci.m_compile_opts));
 }
 
 static void ParseObjname(const CVSymbol &sym, CompilandIndexItem &cci) {
   cci.m_obj_name.emplace();
-  llvm::cantFail(
+  cantFail(
       SymbolDeserializer::deserializeAs<ObjNameSym>(sym, *cci.m_obj_name));
 }
 
 static void ParseBuildInfo(PdbIndex &index, const CVSymbol &sym,
                            CompilandIndexItem &cci) {
   BuildInfoSym bis(SymbolRecordKind::BuildInfoSym);
-  llvm::cantFail(SymbolDeserializer::deserializeAs<BuildInfoSym>(sym, bis));
+  cantFail(SymbolDeserializer::deserializeAs<BuildInfoSym>(sym, bis));
 
   // S_BUILDINFO just points to an LF_BUILDINFO in the IPI stream.  Let's do
   // a little extra work to pull out the LF_BUILDINFO.
@@ -72,7 +72,7 @@
     return;
 
   BuildInfoRecord bir;
-  llvm::cantFail(TypeDeserializer::deserializeAs<BuildInfoRecord>(*cvt, bir));
+  cantFail(TypeDeserializer::deserializeAs<BuildInfoRecord>(*cvt, bir));
   cci.m_build_info.assign(bir.ArgIndices.begin(), bir.ArgIndices.end());
 }
 
@@ -208,9 +208,9 @@
   StringIdRecord file_name;
   CVType dir_cvt = types.getType(item.m_build_info[0]);
   CVType file_cvt = types.getType(item.m_build_info[2]);
-  llvm::cantFail(
+  cantFail(
       TypeDeserializer::deserializeAs<StringIdRecord>(dir_cvt, working_dir));
-  llvm::cantFail(
+  cantFail(
       TypeDeserializer::deserializeAs<StringIdRecord>(file_cvt, file_name));
 
   llvm::sys::path::Style style = working_dir.String.startswith("/")
Index: lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
===================================================================
--- lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
+++ lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
@@ -31,7 +31,6 @@
 using namespace lldb_private;
 using namespace lldb;
 using namespace lldb_private::python;
-using llvm::cantFail;
 using llvm::Error;
 using llvm::Expected;
 using llvm::Twine;
Index: clang/unittests/Basic/DiagnosticTest.cpp
===================================================================
--- clang/unittests/Basic/DiagnosticTest.cpp
+++ clang/unittests/Basic/DiagnosticTest.cpp
@@ -82,7 +82,7 @@
   ASSERT_TRUE(!Value);
   llvm::Error Err = Value.takeError();
   Optional<PartialDiagnosticAt> ErrDiag = DiagnosticError::take(Err);
-  llvm::cantFail(std::move(Err));
+  cantFail(std::move(Err));
   ASSERT_FALSE(!ErrDiag);
   EXPECT_EQ(ErrDiag->first, SourceLocation());
   EXPECT_EQ(ErrDiag->second.getDiagID(), diag::err_cannot_open_file);
Index: clang/tools/clang-refactor/ClangRefactor.cpp
===================================================================
--- clang/tools/clang-refactor/ClangRefactor.cpp
+++ clang/tools/clang-refactor/ClangRefactor.cpp
@@ -321,7 +321,7 @@
       llvm::errs() << llvm::toString(std::move(Err)) << "\n";
       return;
     }
-    llvm::cantFail(std::move(Err)); // This is a success.
+    cantFail(std::move(Err)); // This is a success.
     DiagnosticBuilder DB(
         getDiags().Report(Diag->first, Diag->second.getDiagID()));
     Diag->second.Emit(DB);
Index: clang/lib/Tooling/Tooling.cpp
===================================================================
--- clang/lib/Tooling/Tooling.cpp
+++ clang/lib/Tooling/Tooling.cpp
@@ -238,7 +238,7 @@
 }
 
 std::string getAbsolutePath(StringRef File) {
-  return llvm::cantFail(getAbsolutePath(*llvm::vfs::getRealFileSystem(), File));
+  return cantFail(getAbsolutePath(*llvm::vfs::getRealFileSystem(), File));
 }
 
 void addTargetAndModeForProgramName(std::vector<std::string> &CommandLine,
Index: clang/lib/Tooling/Core/Replacement.cpp
===================================================================
--- clang/lib/Tooling/Core/Replacement.cpp
+++ clang/lib/Tooling/Core/Replacement.cpp
@@ -519,7 +519,7 @@
     return MergedRanges;
   tooling::Replacements FakeReplaces;
   for (const auto &R : MergedRanges) {
-    llvm::cantFail(
+    cantFail(
         FakeReplaces.add(Replacement(Replaces.begin()->getFilePath(),
                                      R.getOffset(), R.getLength(),
                                      std::string(R.getLength(), ' '))),
Index: clang/lib/AST/ExternalASTMerger.cpp
===================================================================
--- clang/lib/AST/ExternalASTMerger.cpp
+++ clang/lib/AST/ExternalASTMerger.cpp
@@ -510,7 +510,7 @@
     Decl *LookupRes = C.first.get();
     ASTImporter *Importer = C.second;
     auto NDOrErr = Importer->Import(LookupRes);
-    NamedDecl *ND = cast<NamedDecl>(llvm::cantFail(std::move(NDOrErr)));
+    NamedDecl *ND = cast<NamedDecl>(cantFail(std::move(NDOrErr)));
     assert(ND);
     // If we don't import specialization, they are not available via lookup
     // because the lookup result is imported TemplateDecl and it does not
Index: clang-tools-extra/clangd/unittests/XRefsTests.cpp
===================================================================
--- clang-tools-extra/clangd/unittests/XRefsTests.cpp
+++ clang-tools-extra/clangd/unittests/XRefsTests.cpp
@@ -2315,7 +2315,7 @@
     auto AST = TestTU::withCode(File.code()).build();
     ASSERT_TRUE(AST.getDiagnostics().empty())
         << AST.getDiagnostics().begin()->Message;
-    SourceLocation SL = llvm::cantFail(
+    SourceLocation SL = cantFail(
         sourceLocationInMainFile(AST.getSourceManager(), File.point()));
 
     const FunctionDecl *FD =
Index: clang-tools-extra/clangd/unittests/TweakTesting.cpp
===================================================================
--- clang-tools-extra/clangd/unittests/TweakTesting.cpp
+++ clang-tools-extra/clangd/unittests/TweakTesting.cpp
@@ -140,12 +140,12 @@
   llvm::StringRef Code = Test.code();
   std::vector<std::string> Cases;
   for (const auto& Point : Test.points()) {
-    size_t Offset = llvm::cantFail(positionToOffset(Code, Point));
+    size_t Offset = cantFail(positionToOffset(Code, Point));
     Cases.push_back((Code.substr(0, Offset) + "^" + Code.substr(Offset)).str());
   }
   for (const auto& Range : Test.ranges()) {
-    size_t Begin = llvm::cantFail(positionToOffset(Code, Range.start));
-    size_t End = llvm::cantFail(positionToOffset(Code, Range.end));
+    size_t Begin = cantFail(positionToOffset(Code, Range.start));
+    size_t End = cantFail(positionToOffset(Code, Range.end));
     Cases.push_back((Code.substr(0, Begin) + "[[" +
                      Code.substr(Begin, End - Begin) + "]]" + Code.substr(End))
                         .str());
Index: clang-tools-extra/clangd/unittests/SourceCodeTests.cpp
===================================================================
--- clang-tools-extra/clangd/unittests/SourceCodeTests.cpp
+++ clang-tools-extra/clangd/unittests/SourceCodeTests.cpp
@@ -307,7 +307,7 @@
   EXPECT_THAT_EXPECTED(sourceLocationInMainFile(SM, position(5, 0)), Failed());
   // Check all positions mentioned in the test return valid results.
   for (auto P : Source.points()) {
-    size_t Offset = llvm::cantFail(positionToOffset(Source.code(), P));
+    size_t Offset = cantFail(positionToOffset(Source.code(), P));
     EXPECT_THAT_EXPECTED(sourceLocationInMainFile(SM, P),
                          HasValue(StartOfFile.getLocWithOffset(Offset)));
   }
Index: clang-tools-extra/clangd/unittests/SemanticSelectionTests.cpp
===================================================================
--- clang-tools-extra/clangd/unittests/SemanticSelectionTests.cpp
+++ clang-tools-extra/clangd/unittests/SemanticSelectionTests.cpp
@@ -141,7 +141,7 @@
   for (const char *Test : Tests) {
     auto T = Annotations(Test);
     auto AST = TestTU::withCode(T.code()).build();
-    EXPECT_THAT(llvm::cantFail(getSemanticRanges(AST, T.point())),
+    EXPECT_THAT(cantFail(getSemanticRanges(AST, T.point())),
                 ElementsAreArray(T.ranges()))
         << Test;
   }
Index: clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
===================================================================
--- clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
+++ clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
@@ -83,8 +83,8 @@
   std::string Result;
   unsigned NextChar = 0;
   for (auto &T : Tokens) {
-    unsigned StartOffset = llvm::cantFail(positionToOffset(Input, T.R.start));
-    unsigned EndOffset = llvm::cantFail(positionToOffset(Input, T.R.end));
+    unsigned StartOffset = cantFail(positionToOffset(Input, T.R.start));
+    unsigned EndOffset = cantFail(positionToOffset(Input, T.R.end));
     assert(StartOffset <= EndOffset);
     assert(NextChar <= StartOffset);
 
Index: clang-tools-extra/clangd/unittests/RenameTests.cpp
===================================================================
--- clang-tools-extra/clangd/unittests/RenameTests.cpp
+++ clang-tools-extra/clangd/unittests/RenameTests.cpp
@@ -75,7 +75,7 @@
     auto RenameResult =
         renameWithinFile(AST, testPath(TU.Filename), Code.point(), NewName);
     ASSERT_TRUE(bool(RenameResult)) << RenameResult.takeError();
-    auto ApplyResult = llvm::cantFail(
+    auto ApplyResult = cantFail(
         tooling::applyAllReplacements(Code.code(), *RenameResult));
     EXPECT_EQ(expectedResult(Code, NewName), ApplyResult);
   }
@@ -183,7 +183,7 @@
       EXPECT_TRUE(bool(Results)) << "renameWithinFile returned an error: "
                                  << llvm::toString(Results.takeError());
       auto ApplyResult =
-          llvm::cantFail(tooling::applyAllReplacements(T.code(), *Results));
+          cantFail(tooling::applyAllReplacements(T.code(), *Results));
       EXPECT_EQ(expectedResult(T, NewName), ApplyResult);
     }
   }
Index: clang-tools-extra/clangd/unittests/HeaderSourceSwitchTests.cpp
===================================================================
--- clang-tools-extra/clangd/unittests/HeaderSourceSwitchTests.cpp
+++ clang-tools-extra/clangd/unittests/HeaderSourceSwitchTests.cpp
@@ -271,7 +271,7 @@
   ClangdServer Server(CDB, FS, DiagConsumer, Options);
   runAddDocument(Server, CppPath, FileContent);
   EXPECT_EQ(HeaderPath,
-            *llvm::cantFail(runSwitchHeaderSource(Server, CppPath)));
+            *cantFail(runSwitchHeaderSource(Server, CppPath)));
 }
 
 } // namespace
Index: clang-tools-extra/clangd/unittests/FormatTests.cpp
===================================================================
--- clang-tools-extra/clangd/unittests/FormatTests.cpp
+++ clang-tools-extra/clangd/unittests/FormatTests.cpp
@@ -23,7 +23,7 @@
 std::string afterTyped(llvm::StringRef CodeWithCursor,
                            llvm::StringRef Typed) {
   Annotations Code(CodeWithCursor);
-  unsigned Cursor = llvm::cantFail(positionToOffset(Code.code(), Code.point()));
+  unsigned Cursor = cantFail(positionToOffset(Code.code(), Code.point()));
   auto Changes =
       formatIncremental(Code.code(), Cursor, Typed,
                         format::getGoogleStyle(format::FormatStyle::LK_Cpp));
Index: clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
===================================================================
--- clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
+++ clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
@@ -110,7 +110,7 @@
   auto File = testPath("foo.cpp");
   runAddDocument(Server, File, TestCode);
   auto CompletionList =
-      llvm::cantFail(runCodeComplete(Server, File, Point, Opts));
+      cantFail(runCodeComplete(Server, File, Point, Opts));
   return CompletionList;
 }
 
@@ -129,7 +129,7 @@
   Annotations Test(Text);
   runAddDocument(Server, File, Test.code());
   auto CompletionList =
-      llvm::cantFail(runCodeComplete(Server, File, Test.point(), Opts));
+      cantFail(runCodeComplete(Server, File, Test.point(), Opts));
   return CompletionList;
 }
 
@@ -1045,7 +1045,7 @@
   ClangdServer Server(CDB, FS, DiagConsumer, Opts);
   auto File = testPath("foo.cpp");
   runAddDocument(Server, File, Text);
-  return llvm::cantFail(runSignatureHelp(Server, File, Point));
+  return cantFail(runSignatureHelp(Server, File, Point));
 }
 
 SignatureHelp signatures(llvm::StringRef Text,
@@ -2012,7 +2012,7 @@
   // Wait for the dynamic index being built.
   ASSERT_TRUE(Server.blockUntilIdleForTest());
   EXPECT_THAT(
-      llvm::cantFail(runSignatureHelp(Server, File, FileContent.point()))
+      cantFail(runSignatureHelp(Server, File, FileContent.point()))
           .signatures,
       ElementsAre(AllOf(Sig("foo() -> int"), SigDoc("Member doc"))));
 }
Index: clang-tools-extra/clangd/refactor/tweaks/ExpandMacro.cpp
===================================================================
--- clang-tools-extra/clangd/refactor/tweaks/ExpandMacro.cpp
+++ clang-tools-extra/clangd/refactor/tweaks/ExpandMacro.cpp
@@ -121,7 +121,7 @@
                                     Expansion.Spelled.back().endLocation());
 
   tooling::Replacements Reps;
-  llvm::cantFail(Reps.add(tooling::Replacement(SM, MacroRange, Replacement)));
+  cantFail(Reps.add(tooling::Replacement(SM, MacroRange, Replacement)));
   return Effect::mainFileEdit(SM, std::move(Reps));
 }
 
Index: clang-tools-extra/clangd/index/Serialization.cpp
===================================================================
--- clang-tools-extra/clangd/index/Serialization.cpp
+++ clang-tools-extra/clangd/index/Serialization.cpp
@@ -174,7 +174,7 @@
     }
     if (llvm::zlib::isAvailable()) {
       llvm::SmallString<1> Compressed;
-      llvm::cantFail(llvm::zlib::compress(RawTable, Compressed));
+      cantFail(llvm::zlib::compress(RawTable, Compressed));
       write32(RawTable.size(), OS);
       OS << Compressed;
     } else {
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to