https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80839
Bug ID: 80839 Summary: Memory leak in _Rb_tree Product: gcc Version: 6.3.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: mail at kitsu dot me Target Milestone: --- Greetings! I want to use static const std::map with aggregate initialization. The simpler example of my case is: #include <map> int main() { static const std::map<int, int> a {{1,2}}; return 0; } Besides I also want to use clang's memory sanitizer, so the compilation line is: clang++ a.cc -fsanitize=memory -std=c++11 And after launch, memory sanitizer complain about use-of-uninitialized-value (filepaths removed): ==7422==WARNING: MemorySanitizer: use-of-uninitialized-value #0 0x493408 in std::_Rb_tree<int, std::pair<int const, int>, std::_Select1st<std::pair<int const, int> >, std::less<int>, std::allocator<std::pair<int const, int> > >::_M_erase(std::_Rb_tree_node<std::pair<int const, int> >*) #1 0x49349f in std::_Rb_tree<int, std::pair<int const, int>, std::_Select1st<std::pair<int const, int> >, std::less<int>, std::allocator<std::pair<int const, int> > >::_M_erase(std::_Rb_tree_node<std::pair<int const, int> >*) #2 0x493214 in std::_Rb_tree<int, std::pair<int const, int>, std::_Select1st<std::pair<int const, int> >, std::less<int>, std::allocator<std::pair<int const, int> > >::~_Rb_tree() #3 0x493161 in std::map<int, int, std::less<int>, std::allocator<std::pair<int const, int> > >::~map() #4 0x4220a3 in MSanAtExitWrapper(void*) #5 0x7f933520f6bf in __run_exit_handlers #6 0x7f933520f719 in __GI_exit #7 0x7f93351f9517 in __libc_start_main #8 0x41a1b9 in _start SUMMARY: MemorySanitizer: use-of-uninitialized-value in std::_Rb_tree<int, std::pair<int const, int>, std::_Select1st<std::pair<int const, int> >, std::less<int>, std::allocator<std::pair<int const, int> > >::_M_erase(std::_Rb_tree_node<std::pair<int const, int> >*) Exiting Compiling with debug symbols seems to lead somewhere around here: https://github.com/gcc-mirror/gcc/blob/gcc-6-branch/libstdc++-v3/include/bits/stl_tree.h#L1633 System info: Linux: Arch Linux, kernel 4.11.2 + pf-patch clang: 4.0.0 (last one from off repo) gcc: 6.3.1 (last one from off repo)