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

            Bug ID: 100984
           Summary: gimple-ssa-evrp.c: mismatched new and delete
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dcb314 at hotmail dot com
  Target Milestone: ---

I have just done a valgrind build of gcc trunk and it says:

==279305== Mismatched free() / delete / delete []
==279305==    at 0x48434DD: operator delete(void*) (vg_replace_malloc.c:802)
==279305==    by 0x14B0691: ~pointer_equiv_analyzer (gimple-ssa-evrp.c:168)

==279305==  Address 0x133d9a40 is 0 bytes inside a block of size 32 alloc'd
==279305==    at 0x4842103: operator new[](unsigned long)
(vg_replace_malloc.c:579)
==279305==    by 0x14B0CB7: pointer_equiv_analyzer (gimple-ssa-evrp.c:163)

Source code is

pointer_equiv_analyzer::pointer_equiv_analyzer (gimple_ranger *r)
{
  m_ranger = r;
  m_global_points = new tree[num_ssa_names] ();
}

pointer_equiv_analyzer::~pointer_equiv_analyzer ()
{
  delete m_global_points;
}

Suggest use [] on delete.

Reply via email to