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

            Bug ID: 115048
           Summary: warning "operator delete called on pointer '<unknown>'
                    with nonzero offset"
           Product: gcc
           Version: 14.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: urisimchoni at gmail dot com
  Target Milestone: ---

Compiling the following code with gcc 14.1.0 and -O3 yields the warning:

/opt/compiler-explorer/gcc-14.1.0/include/c++/14.1.0/bits/new_allocator.h:172:33:
warning: 'void operator delete(void*, std::size_t)' called on pointer
'<unknown>' with nonzero offset [1, 2147483647] [-Wfree-nonheap-object]

<begin code>
#include <vector>

std::vector<char> get_vec(int extra)
{
        std::vector<char> res;
        res.reserve(extra);
        res.push_back(7);
        return res;
}
<end code>

See also https://godbolt.org/z/rPr7KEhYa

This does not happen with 13.2.0, and does happen with trunk (according to
compiler explorer)
  • [Bug c++/115048] New: warning &q... urisimchoni at gmail dot com via Gcc-bugs

Reply via email to