[MacPorts] #64055: legacysupport @1.0.4: Add support for missing "operator delete ( void* ptr, std::size_t sz )" in macos < 10.12

MacPorts noreply at macports.org
Thu Nov 25 07:54:21 UTC 2021


#64055: legacysupport @1.0.4: Add support for missing "operator delete ( void* ptr,
std::size_t sz )" in macos < 10.12
----------------------------+--------------------
  Reporter:  tenzap         |      Owner:  (none)
      Type:  defect         |     Status:  new
  Priority:  Normal         |  Milestone:
 Component:  ports          |    Version:
Resolution:                 |   Keywords:
      Port:  legacysupport  |
----------------------------+--------------------
Description changed by tenzap:

Old description:

> Originally, when building KeePassXC on macOS 10.11 with a compiler that
> supports the -fsized-deallocation (like clang++-mp-9.0, or a recent
> AppleClang, probably >= 8) there is this error:
>
> {{{
> error: call to unavailable function 'operator delete': introduced in
> macOS 10.12
> }}}
>
> Test case file to compile with `-fsized-deallocation` flag:
> {{{
> #include <new>
> int main() {
>   void * ptr = nullptr;
>   std::size_t size = 1;
>   ::operator delete(ptr, size);
> }
>
> }}}
>

> Maybe this is part of the things that could be added to legacysupport?
>
> For now this is worked around in KeePassXC with a patch that disables use
> of -fsized-deallocation on macos < 10.12.

New description:

 Originally, when building KeePassXC on macOS 10.11 with a compiler that
 supports the -fsized-deallocation (like clang++-mp-9.0, or a recent
 AppleClang, probably >= 8) there is this error:

 {{{
 error: call to unavailable function 'operator delete': introduced in macOS
 10.12
 }}}

 Test case file to compile with `-fsized-deallocation` flag:
 {{{
 #include <new>
 int main() {
   void * ptr = nullptr;
   std::size_t size = 1;
   ::operator delete(ptr, size);
 }

 }}}


 Maybe this is part of the things that could be added to legacysupport?

 There may be other related functions missing since delete is 'overloaded'
 https://en.cppreference.com/w/cpp/memory/new/operator_delete
 https://en.cppreference.com/w/cpp/header/new

 For now this is worked around in KeePassXC with a patch that disables use
 of -fsized-deallocation on macos < 10.12.

--

-- 
Ticket URL: <https://trac.macports.org/ticket/64055#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list