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

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 12 10:06:16 PDT 2017


Shouldn't this use the gunit ASSERT macros instead? probably.

On Tue, Jun 6, 2017 at 12:01 PM Matthias Braun via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> 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);
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170612/e9f23196/attachment.html>


More information about the llvm-commits mailing list