https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90570
Bug ID: 90570 Summary: AddressSanitizer: stack-use-after-scope Product: gcc Version: 9.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: sanitizer Assignee: unassigned at gcc dot gnu.org Reporter: mtekieli at gmail dot com CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org, jakub at gcc dot gnu.org, kcc at gcc dot gnu.org, marxin at gcc dot gnu.org Target Milestone: --- root@marcin:~# cat main.cpp #include <vector> struct stru { std::vector<int> v{1,2,3,4}; int i{5}; }; int main() { stru s1; stru s2; return 0; } root@marcin:~# g++-9 -fsanitize=address main.cpp -o main root@marcin:~# ./main ================================================================= ==1656==ERROR: AddressSanitizer: stack-use-after-scope on address 0x55fd2cb681c0 at pc 0x7f1c3d1a7b90 bp 0x7fff14bed7c0 sp 0x7fff14becf68 It doesn't matter if vector changed to set or map. Works OK on gcc8.3 and clang8.