https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96997
--- Comment #4 from Tom de Vries <vries at gcc dot gnu.org> --- -fdump-tree-all-lineno with gcc-10: ... main () { struct string D.37010; struct allocator D.37009; struct string D.37052; struct allocator D.37051; int D.40670; [test.c:7:40] std::allocator<char>::allocator ([test.c:7:40] &D.37009); [test.c:7:19] try { try { [test.c:7:40] std::__cxx11::basic_string<char>::basic_string ([test.c:7:40] &D.37010 , [test.c:7:40] "str1", [/usr/include/c++/10/bits/basic_string.h:525:59] &D.37009); 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.37010); } finally { [test.c:7:27] std::__cxx11::basic_string<char>::~basic_string ([test.c:7:27] &D.37010); } } finally { [test.c:7:27] D.37010 = {CLOBBER}; } } finally { [/usr/include/c++/10/bits/basic_string.h:525:59] std::allocator<char>::~allocator ([ /usr/include/c++/10/bits/basic_string.h:525:59] &D.37009); } } finally { [/usr/include/c++/10/bits/basic_string.h:525:59] D.37009 = {CLOBBER}; } [test.c:8:40] std::allocator<char>::allocator ([test.c:8:40] &D.37051); [test.c:8:19] try { try { [test.c:8:40] std::__cxx11::basic_string<char>::basic_string ([test.c:8:40] &D.37052 , [test.c:8:40] "str2", [/usr/include/c++/10/bits/basic_string.h:525:59] &D.37051); 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.37052); } finally { [test.c:8:27] std::__cxx11::basic_string<char>::~basic_string ([test.c:8:27] &D.37052); } } finally { [test.c:8:27] D.37052 = {CLOBBER}; } } finally { [/usr/include/c++/10/bits/basic_string.h:525:59] std::allocator<char>::~allocator ([ /usr/include/c++/10/bits/basic_string.h:525:59] &D.37051); } } finally { [/usr/include/c++/10/bits/basic_string.h:525:59] D.37051 = {CLOBBER}; } [test.c:9:16] D.40670 = 0; [test.c:9:16] return D.40670; [test.c:10:1] D.40670 = 0; [test.c:10:1] return D.40670; } ...