A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later (C++11 support is in v2.x branch, and C++03 on the Catch1.x branch)
Describe the bug
I build my code with Clang and LLVM's memory sanitizer. When running the tests, msan reports a use of an uninitialized value in the Catch2 code part.
Expected behavior
No use of uninitialized value. Perhaps it is a false positive, in which case it would be nice if you annotated the respective code segment accordingly.
Reproduction steps
I have a custom main():
#include <catch2/catch_session.hpp>
#include <clocale>
#include <iostream>
int main(int argc, char* argv[])
{
std::setlocale(LC_ALL, "en_US.UTF-8");
std::locale::global(std::locale("en_US.UTF-8"));
std::cout.imbue(std::locale());
int result = Catch::Session().run( argc, argv );
return result;
}
I compile with -stdlib=libc++ -lc++abi -fsanitize=memory -fsanitize-link-c++-runtime.
Describe the bug I build my code with Clang and LLVM's memory sanitizer. When running the tests, msan reports a use of an uninitialized value in the Catch2 code part.
Expected behavior No use of uninitialized value. Perhaps it is a false positive, in which case it would be nice if you annotated the respective code segment accordingly.
Reproduction steps
I have a custom
main()
:I compile with
-stdlib=libc++ -lc++abi -fsanitize=memory -fsanitize-link-c++-runtime
.Platform information:
Linux IH-X1Carbon 6.10.10-arch1-1 #1 SMP PREEMPT_DYNAMIC Thu, 12 Sep 2024 17:21:02 +0000 x86_64 GNU/Linux
Additional information MSan trace