]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/libsupc++/del_op.cc
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / libsupc++ / del_op.cc
CommitLineData
06bd10fb 1// Boilerplate support routines for -*- C++ -*- dynamic memory management.
e2c09482 2
99dee823 3// Copyright (C) 1997-2021 Free Software Foundation, Inc.
06bd10fb 4//
cbecceb9 5// This file is part of GCC.
06bd10fb 6//
cbecceb9 7// GCC is free software; you can redistribute it and/or modify
06bd10fb 8// it under the terms of the GNU General Public License as published by
748086b7 9// the Free Software Foundation; either version 3, or (at your option)
06bd10fb
BK
10// any later version.
11//
cbecceb9 12// GCC is distributed in the hope that it will be useful,
06bd10fb
BK
13// but WITHOUT ANY WARRANTY; without even the implied warranty of
14// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15// GNU General Public License for more details.
16//
748086b7
JJ
17// Under Section 7 of GPL version 3, you are granted additional
18// permissions described in the GCC Runtime Library Exception, version
19// 3.1, as published by the Free Software Foundation.
20
21// You should have received a copy of the GNU General Public License and
22// a copy of the GCC Runtime Library Exception along with this program;
23// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
24// <http://www.gnu.org/licenses/>.
06bd10fb 25
f00485cc 26#include <bits/c++config.h>
06bd10fb 27
113008b5 28#if !_GLIBCXX_HOSTED
610b0ddd
MM
29// A freestanding C runtime may not provide "free" -- but there is no
30// other reasonable way to implement "operator delete".
12ffa228
BK
31namespace std
32{
33_GLIBCXX_BEGIN_NAMESPACE_VERSION
113008b5 34 extern "C" void free(void*);
12ffa228
BK
35_GLIBCXX_END_NAMESPACE_VERSION
36} // namespace
113008b5
BK
37#else
38# include <cstdlib>
4c24b21a 39#endif
06bd10fb 40
113008b5
BK
41#include "new"
42
4177264e
JM
43// The sized deletes are defined in other files.
44#pragma GCC diagnostic ignored "-Wsized-deallocation"
45
5cc78150 46_GLIBCXX_WEAK_DEFINITION void
b66e5a95 47operator delete(void* ptr) noexcept
06bd10fb 48{
fc7657bb 49 std::free(ptr);
06bd10fb 50}