llvm commit I have checked out where this is broken (not necessarily the cause): 4a40fa8
Repro steps
test.cpp:
enum Foo : bool;
bool bar(Foo a, Foo b) {
return a == b;
}
- Build Clang with
LLVM_ENABLE_ASSERTIONS:BOOL=ON
- Run
clang++ -c test.cpp -o test
Expected result:
clang should compile the file
Actual result:
clang crashes with the assertion
clang++: /path/to/llvm/repo/llvm-project/clang/lib/AST/Expr.cpp:1836: bool clang::CastExpr::CastConsistency() const: Assertion `!getType()->isBooleanType() && "unheralded conversion to bool"' failed.
The full stacktrace is in the attached stacktrace.txt.
(I had to change the extension of the .cpp file and the .sh file as GitHub doesn't support those file type extensions as attachments)
stacktrace.txt
test-f893c2.cpp.txt
test-f893c2.sh.txt