https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65209

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-02-25
      Known to work|                            |4.9.2
   Target Milestone|---                         |5.0
            Summary|[5.0 regression] Broken     |[5 Regression] Broken code
                   |code with global static     |with global static
                   |variables, invalid pointer  |variables, invalid pointer
                   |when freeing global         |when freeing global
                   |variables                   |variables
     Ever confirmed|0                           |1

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed.  Valgrind says

==23580== Invalid free() / delete / delete[] / realloc()
==23580==    at 0x4C28FAC: operator delete(void*) (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23580==    by 0x4009D4: FooData::~FooData() (foo.cpp:5)
==23580==    by 0x400A13: Foo::~Foo() (foo.cpp:8)
==23580==    by 0x400A4B: FooSingleton::~FooSingleton() (foo.cpp:15)
==23580==    by 0x400AA2: (anonymous
namespace)::Q_QGS_s_self::innerFunction()::Holder::~Holder() (foo.cpp:33)
==23580==    by 0x5704058: __run_exit_handlers (exit.c:82)
==23580==    by 0x57040A4: exit (exit.c:104)
==23580==    by 0x56EDBEB: (below main) (libc-start.c:303)
==23580==  Address 0x5a80001 is 24,513 bytes inside a block of size 72,704
alloc'd
==23580==    at 0x4C277AB: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23580==    by 0x4EC31AF: ??? (in /usr/lib64/libstdc++.so.6.0.21)
==23580==    by 0x400E859: call_init.part.0 (dl-init.c:84)
==23580==    by 0x400E942: _dl_init (dl-init.c:36)
==23580==    by 0x40011C9: ??? (in /lib64/ld-2.18.so)

Reply via email to