[llvm] r304814 - UnitTests: Do not use assert() for error checking

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 6 12:00:54 PDT 2017


Author: matze
Date: Tue Jun  6 14:00:54 2017
New Revision: 304814

URL: http://llvm.org/viewvc/llvm-project?rev=304814&view=rev
Log:
UnitTests: Do not use assert() for error checking

Use `if (!X) report_fatal_error()` instead of `assert()` for the ad-hoc
error handling in two unittests. This reduces unnecessary differences
between release and debug builds (motivated by unused variable warnings
triggered in release builds).

Modified:
    llvm/trunk/unittests/MI/LiveIntervalTest.cpp
    llvm/trunk/unittests/Target/AArch64/InstSizes.cpp

Modified: llvm/trunk/unittests/MI/LiveIntervalTest.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/MI/LiveIntervalTest.cpp?rev=304814&r1=304813&r2=304814&view=diff
==============================================================================
--- llvm/trunk/unittests/MI/LiveIntervalTest.cpp (original)
+++ llvm/trunk/unittests/MI/LiveIntervalTest.cpp Tue Jun  6 14:00:54 2017
@@ -151,7 +151,8 @@ body: |
   std::unique_ptr<MIRParser> MIR;
   std::unique_ptr<Module> M = parseMIR(Context, PM, MIR, *TM, MIRString,
                                        "func");
-  assert(M && "MIR parsing successfull");
+  if (!M)
+    report_fatal_error("Could not parse MIR code\n");
 
   PM.add(new TestPass(T));
 

Modified: llvm/trunk/unittests/Target/AArch64/InstSizes.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/Target/AArch64/InstSizes.cpp?rev=304814&r1=304813&r2=304814&view=diff
==============================================================================
--- llvm/trunk/unittests/Target/AArch64/InstSizes.cpp (original)
+++ llvm/trunk/unittests/Target/AArch64/InstSizes.cpp Tue Jun  6 14:00:54 2017
@@ -21,7 +21,8 @@ std::unique_ptr<TargetMachine> createTar
 
   std::string Error;
   const Target *TheTarget = TargetRegistry::lookupTarget(TT, Error);
-  assert(TheTarget && "Target not registered");
+  if (!TheTarget)
+    report_fatal_error("Target not registered");
 
   return std::unique_ptr<TargetMachine>(
       TheTarget->createTargetMachine(TT, CPU, FS, TargetOptions(), None,
@@ -58,21 +59,24 @@ void runChecks(
   std::unique_ptr<MemoryBuffer> MBuffer = MemoryBuffer::getMemBuffer(MIRString);
   std::unique_ptr<MIRParser> MParser =
       createMIRParser(std::move(MBuffer), Context);
-  assert(MParser && "Couldn't create MIR parser");
+  if (!MParser)
+    report_fatal_error("Couldn't create MIR parser");
 
   std::unique_ptr<Module> M = MParser->parseIRModule();
-  assert(M && "Couldn't parse module");
+  if (!M)
+    report_fatal_error("Couldn't parse module");
 
   M->setTargetTriple(TM->getTargetTriple().getTriple());
   M->setDataLayout(TM->createDataLayout());
 
   MachineModuleInfo MMI(TM);
   bool Res = MParser->parseMachineFunctions(*M, MMI);
-  (void)Res;
-  assert(!Res && "Couldn't parse MIR functions");
+  if (Res)
+    report_fatal_error("Couldn't parse MIR functions");
 
   auto F = M->getFunction("sizes");
-  assert(F && "Couldn't find intended function");
+  if (!F)
+    report_fatal_error("Couldn't find intended function");
   auto &MF = MMI.getOrCreateMachineFunction(*F);
 
   Checks(*II, MF);




More information about the llvm-commits mailing list