https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96997
--- Comment #3 from Tom de Vries <vries at gcc dot gnu.org> --- -fdump-tree-all-lineno with gcc-9: ... main () { struct string D.36200; struct allocator D.36199; struct string D.36242; struct allocator D.36241; int D.39843; [test.c:7:27] std::allocator<char>::allocator ([test.c:7:27] &D.36199); [test.c:7:19] try { try { [test.c:7:27] std::__cxx11::basic_string<char>::basic_string ([test.c:7:27] &D.36200, [test.c:7:27] "str1", &D.36199); try { try { [test.c:7:40] std::operator<< <char, std::char_traits<char>, std::allocator<char> > ([test.c:7:40] &cout, [test.c:7:27] &D.36200); } finally { [test.c:7:27] std::__cxx11::basic_string<char>::~basic_string ([test.c:7:27] &D.36200); } } finally { [test.c:7:27] D.36200 = {CLOBBER}; } } finally { [test.c:7:27] std::allocator<char>::~allocator ([test.c:7:27] &D.36199); } } finally { [test.c:7:27] D.36199 = {CLOBBER}; } [test.c:8:27] std::allocator<char>::allocator ([test.c:8:27] &D.36241); [test.c:8:19] try { try { [test.c:8:27] std::__cxx11::basic_string<char>::basic_string ([test.c:8:27] &D.36242, [test.c:8:27] "str2", &D.36241); try { try { [test.c:8:40] std::operator<< <char, std::char_traits<char>, std::allocator<char> > ([test.c:8:40] &cout, [test.c:8:27] &D.36242); } finally { [test.c:8:27] std::__cxx11::basic_string<char>::~basic_string ([test.c:8:27] &D.36242); } } finally { [test.c:8:27] D.36242 = {CLOBBER}; } } finally { [test.c:8:27] std::allocator<char>::~allocator ([test.c:8:27] &D.36241); } } finally { [test.c:8:27] D.36241 = {CLOBBER}; } [test.c:9:16] D.39843 = 0; [test.c:9:16] return D.39843; [test.c:10:1] D.39843 = 0; [test.c:10:1] return D.39843; } ...