Skip to content

Current README instruction lead to build failure when building mutated LLVM #8

Open
@JonathanFoo0523

Description

@JonathanFoo0523

The current README instructions, even after addressing the absolute path issue in the Dredd script (issue #7) and ensuring that the LLVM version described in the README is used to build Dredd and LLVM, still result in the following compilation errors:

/home/ubuntu/llvm-17.0.4-mutant-tracking/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp:1616:341: error: reference to local binding 'ICmp' declared in enclosing function 'llvm::InstCombinerImpl::foldAllocaCmp'

A minimal reproducible example of this error can be shown by applying dredd to

#include <tuple>
int bar();


int foo(bool isAnd) {
    auto [someInt, someMask] = std::pair<int, int>(1, 2);
    unsigned CombinedMask = someMask & bar();
    return 0;
}

which introduces a lambda of the form:

[&]() -> { ... someMask ...}

and causes

error: reference to local binding 'someMask' declared in enclosing function 'foo`

when compiling with clang-15, which is explicitly stated in the README instruction.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions