fmayer wrote: This broke the sanitizer bots, e.g. https://lab.llvm.org/buildbot/#/builders/239/builds/6587/steps/10/logs/stdio
``` [==========] Running 2 tests from 1 test suite. [----------] Global test environment set-up. [----------] 2 tests from ExprMutationAnalyzerTest [ RUN ] ExprMutationAnalyzerTest.UnresolvedOperator [ OK ] ExprMutationAnalyzerTest.UnresolvedOperator (59 ms) [ RUN ] ExprMutationAnalyzerTest.ReproduceFailureMinimal input.cc:1:166: warning: unqualified call to 'std::forward' [-Wunqualified-std-cast-call] 1 | namespace std {template <class T> T &forward(T &A) { return static_cast<T&&>(A); }template <class T> struct __bind { T f; template <class V> __bind(T v, V &&) : f(forward(v)) {}};}void f() { int x = 42; auto Lambda = [] {}; std::__bind<decltype(Lambda)>(Lambda, x);} | ^ | std:: input.cc:1:230: note: in instantiation of function template specialization 'std::__bind<(lambda at input.cc:1:222)>::__bind<int &>' requested here 1 | namespace std {template <class T> T &forward(T &A) { return static_cast<T&&>(A); }template <class T> struct __bind { T f; template <class V> __bind(T v, V &&) : f(forward(v)) {}};}void f() { int x = 42; auto Lambda = [] {}; std::__bind<decltype(Lambda)>(Lambda, x);} | ^ [ OK ] ExprMutationAnalyzerTest.ReproduceFailureMinimal (46 ms) [----------] 2 tests from ExprMutationAnalyzerTest (106 ms total) [----------] Global test environment tear-down [==========] 2 tests from 1 test suite ran. (107 ms total) [ PASSED ] 2 tests. ================================================================= ==946027==ERROR: LeakSanitizer: detected memory leaks Indirect leak of 1024 byte(s) in 1 object(s) allocated from: #0 0xaaaac90ddce4 in operator new(unsigned long, std::align_val_t) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/compiler-rt/lib/asan/asan_new_delete.cpp:98:3 #1 0xaaaaca15f590 in allocateBuckets /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/include/llvm/ADT/DenseMap.h:899:9 #2 0xaaaaca15f590 in llvm::DenseMap<clang::ParmVarDecl const*, clang::Stmt const*, llvm::DenseMapInfo<clang::ParmVarDecl const*, void>, llvm::detail::DenseMapPair<clang::ParmVarDecl const*, clang::Stmt const*>>::grow(unsigned int) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/include/llvm/ADT/DenseMap.h:833:5 #3 0xaaaaca15f428 in grow /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/include/llvm/ADT/DenseMap.h:564:36 #4 0xaaaaca15f428 in InsertIntoBucketImpl<const clang::ParmVarDecl *> /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/include/llvm/ADT/DenseMap.h #5 0xaaaaca15f428 in llvm::detail::DenseMapPair<clang::ParmVarDecl const*, clang::Stmt const*>* llvm::DenseMapBase<llvm::DenseMap<clang::ParmVarDecl const*, clang::Stmt const*, llvm::DenseMapInfo<clang::ParmVarDecl const*, void>, llvm::detail::DenseMapPair<clang::ParmVarDecl const*, clang::Stmt const*>>, clang::ParmVarDecl const*, clang::Stmt const*, llvm::DenseMapInfo<clang::ParmVarDecl const*, void>, llvm::detail::DenseMapPair<clang::ParmVarDecl const*, clang::Stmt const*>>::InsertIntoBucket<clang::ParmVarDecl const* const&>(llvm::detail::DenseMapPair<clang::ParmVarDecl const*, clang::Stmt const*>*, clang::ParmVarDecl const* const&) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/include/llvm/ADT/DenseMap.h:574:17 #6 0xaaaaca104ee8 in FindAndConstruct /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/include/llvm/ADT/DenseMap.h:353:13 #7 0xaaaaca104ee8 in operator[] /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/include/llvm/ADT/DenseMap.h:357:12 #8 0xaaaaca104ee8 in clang::FunctionParmMutationAnalyzer::findMutation(clang::ParmVarDecl const*) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/lib/Analysis/ExprMutationAnalyzer.cpp:685:3 #9 0xaaaaca0f64d4 in clang::ExprMutationAnalyzer::findFunctionArgMutation(clang::Expr const*) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/lib/Analysis/ExprMutationAnalyzer.cpp:645:23 #10 0xaaaaca0d5b30 in clang::ExprMutationAnalyzer::findMutationMemoized(clang::Expr const*, llvm::ArrayRef<clang::Stmt const* (clang::ExprMutationAnalyzer::*)(clang::Expr const*)>, llvm::DenseMap<clang::Expr const*, clang::Stmt const*, llvm::DenseMapInfo<clang::Expr const*, void>, llvm::detail::DenseMapPair<clang::Expr const*, clang::Stmt const*>>&) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/lib/Analysis/ExprMutationAnalyzer.cpp:237:25 #11 0xaaaaca0d5864 in clang::ExprMutationAnalyzer::findMutation(clang::Expr const*) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/lib/Analysis/ExprMutationAnalyzer.cpp:203:10 #12 0xaaaac9176f08 in isMutated /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h:34:44 #13 0xaaaac9176f08 in clang::(anonymous namespace)::isMutated(llvm::SmallVectorImpl<clang::ast_matchers::BoundNodes> const&, clang::ASTUnit*) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp:57:57 #14 0xaaaac91c2980 in clang::ExprMutationAnalyzerTest_ReproduceFailureMinimal_Test::TestBody() /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp:1588:3 #15 0xaaaac93abff8 in HandleExceptionsInMethodIfSupported<testing::Test, void> /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/googletest/src/gtest.cc #16 0xaaaac93abff8 in testing::Test::Run() /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/googletest/src/gtest.cc:2687:5 #17 0xaaaac93ae3b8 in testing::TestInfo::Run() /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/googletest/src/gtest.cc:2836:11 #18 0xaaaac93afc88 in testing::TestSuite::Run() /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/googletest/src/gtest.cc:3015:30 #19 0xaaaac93d0038 in testing::internal::UnitTestImpl::RunAllTests() /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/googletest/src/gtest.cc:5920:44 #20 0xaaaac93ce870 in HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/googletest/src/gtest.cc #21 0xaaaac93ce870 in testing::UnitTest::Run() /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/googletest/src/gtest.cc:5484:10 #22 0xaaaac938e498 in RUN_ALL_TESTS /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/googletest/include/gtest/gtest.h:2317:73 #23 0xaaaac938e498 in main /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/UnitTestMain/TestMain.cpp:55:10 #24 0xffff96327580 (/lib/aarch64-linux-gnu/libc.so.6+0x27580) (BuildId: b9b95c4f6e0feae95b758633cb6a2881fa8eac30) #25 0xffff96327654 in __libc_start_main (/lib/aarch64-linux-gnu/libc.so.6+0x27654) (BuildId: b9b95c4f6e0feae95b758633cb6a2881fa8eac30) #26 0xaaaac900b6ac in _start (/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/unittests/Analysis/ClangAnalysisTests+0x240b6ac) Indirect leak of 128 byte(s) in 1 object(s) allocated from: #0 0xaaaac90dd8c4 in operator new(unsigned long) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/compiler-rt/lib/asan/asan_new_delete.cpp:86:3 #1 0xaaaaca0f64f8 in clang::ExprMutationAnalyzer::findFunctionArgMutation(clang::Expr const*) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/lib/Analysis/ExprMutationAnalyzer.cpp:643:26 #2 0xaaaaca0d5b30 in clang::ExprMutationAnalyzer::findMutationMemoized(clang::Expr const*, llvm::ArrayRef<clang::Stmt const* (clang::ExprMutationAnalyzer::*)(clang::Expr const*)>, llvm::DenseMap<clang::Expr const*, clang::Stmt const*, llvm::DenseMapInfo<clang::Expr const*, void>, llvm::detail::DenseMapPair<clang::Expr const*, clang::Stmt const*>>&) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/lib/Analysis/ExprMutationAnalyzer.cpp:237:25 #3 0xaaaaca0d5864 in clang::ExprMutationAnalyzer::findMutation(clang::Expr const*) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/lib/Analysis/ExprMutationAnalyzer.cpp:203:10 #4 0xaaaac9176f08 in isMutated /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h:34:44 #5 0xaaaac9176f08 in clang::(anonymous namespace)::isMutated(llvm::SmallVectorImpl<clang::ast_matchers::BoundNodes> const&, clang::ASTUnit*) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp:57:57 #6 0xaaaac91c2980 in clang::ExprMutationAnalyzerTest_ReproduceFailureMinimal_Test::TestBody() /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp:1588:3 #7 0xaaaac93abff8 in HandleExceptionsInMethodIfSupported<testing::Test, void> /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/googletest/src/gtest.cc #8 0xaaaac93abff8 in testing::Test::Run() /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/googletest/src/gtest.cc:2687:5 #9 0xaaaac93ae3b8 in testing::TestInfo::Run() /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/googletest/src/gtest.cc:2836:11 #10 0xaaaac93afc88 in testing::TestSuite::Run() /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/googletest/src/gtest.cc:3015:30 #11 0xaaaac93d0038 in testing::internal::UnitTestImpl::RunAllTests() /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/googletest/src/gtest.cc:5920:44 #12 0xaaaac93ce870 in HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/googletest/src/gtest.cc #13 0xaaaac93ce870 in testing::UnitTest::Run() /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/googletest/src/gtest.cc:5484:10 #14 0xaaaac938e498 in RUN_ALL_TESTS /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/googletest/include/gtest/gtest.h:2317:73 #15 0xaaaac938e498 in main /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/UnitTestMain/TestMain.cpp:55:10 #16 0xffff96327580 (/lib/aarch64-linux-gnu/libc.so.6+0x27580) (BuildId: b9b95c4f6e0feae95b758633cb6a2881fa8eac30) #17 0xffff96327654 in __libc_start_main (/lib/aarch64-linux-gnu/libc.so.6+0x27654) (BuildId: b9b95c4f6e0feae95b758633cb6a2881fa8eac30) #18 0xaaaac900b6ac in _start (/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/unittests/Analysis/ClangAnalysisTests+0x240b6ac) Indirect leak of 104 byte(s) in 1 object(s) allocated from: #0 0xaaaac90dd8c4 in operator new(unsigned long) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/compiler-rt/lib/asan/asan_new_delete.cpp:86:3 #1 0xaaaac9176e10 in __libcpp_operator_new<unsigned long> /b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/include/c++/v1/new:270:10 #2 0xaaaac9176e10 in __libcpp_allocate /b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/include/c++/v1/new:294:10 #3 0xaaaac9176e10 in allocate /b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/include/c++/v1/__memory/allocator.h:119:32 #4 0xaaaac9176e10 in allocate /b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/include/c++/v1/__memory/allocator_traits.h:280:16 #5 0xaaaac9176e10 in __allocation_guard<std::__1::allocator<clang::ExprMutationAnalyzer::Cache> > /b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/include/c++/v1/__memory/allocation_guard.h:56:16 #6 0xaaaac9176e10 in allocate_shared<clang::ExprMutationAnalyzer::Cache, std::__1::allocator<clang::ExprMutationAnalyzer::Cache>, 0> /b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/include/c++/v1/__memory/shared_ptr.h:824:46 #7 0xaaaac9176e10 in make_shared<clang::ExprMutationAnalyzer::Cache, 0> /b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/include/c++/v1/__memory/shared_ptr.h:833:10 #8 0xaaaac9176e10 in ExprMutationAnalyzer /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h:32:44 #9 0xaaaac9176e10 in clang::(anonymous namespace)::isMutated(llvm::SmallVectorImpl<clang::ast_matchers::BoundNodes> const&, clang::ASTUnit*) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp:57:10 #10 0xaaaac91c2980 in clang::ExprMutationAnalyzerTest_ReproduceFailureMinimal_Test::TestBody() /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp:1588:3 #11 0xaaaac93abff8 in HandleExceptionsInMethodIfSupported<testing::Test, void> /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/googletest/src/gtest.cc #12 0xaaaac93abff8 in testing::Test::Run() /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/googletest/src/gtest.cc:2687:5 #13 0xaaaac93ae3b8 in testing::TestInfo::Run() /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/googletest/src/gtest.cc:2836:11 #14 0xaaaac93afc88 in testing::TestSuite::Run() /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/googletest/src/gtest.cc:3015:30 #15 0xaaaac93d0038 in testing::internal::UnitTestImpl::RunAllTests() /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/googletest/src/gtest.cc:5920:44 #16 0xaaaac93ce870 in HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/googletest/src/gtest.cc #17 0xaaaac93ce870 in testing::UnitTest::Run() /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/googletest/src/gtest.cc:5484:10 #18 0xaaaac938e498 in RUN_ALL_TESTS /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/googletest/include/gtest/gtest.h:2317:73 #19 0xaaaac938e498 in main /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/third-party/unittest/UnitTestMain/TestMain.cpp:55:10 #20 0xffff96327580 (/lib/aarch64-linux-gnu/libc.so.6+0x27580) (BuildId: b9b95c4f6e0feae95b758633cb6a2881fa8eac30) #21 0xffff96327654 in __libc_start_main (/lib/aarch64-linux-gnu/libc.so.6+0x27654) (BuildId: b9b95c4f6e0feae95b758633cb6a2881fa8eac30) #22 0xaaaac900b6ac in _start (/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/unittests/Analysis/ClangAnalysisTests+0x240b6ac) SUMMARY: AddressSanitizer: 1256 byte(s) leaked in 3 allocation(s). -- exit: 1 -- ``` https://github.com/llvm/llvm-project/pull/87954 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits