Title
operator delete in garbage collected implementation
Status
c++11
Section
[new.delete]
Submitter
Alisdair Meredith

Created on 2009-03-11.00:00:00 last changed 161 months ago

Messages

Date: 2010-10-21.18:28:33

Proposed resolution:

(Editorial note: This wording ties into the proposed resolution for Core #853)

Add paragraphs to [new.delete.single]:

void operator delete(void* ptr) throw();
void operator delete(void* ptr, const std::nothrow_t&) throw();
The second signature deletion above is editorial.

Requires: If an implementation has strict pointer safety ([basic.stc.dynamic.safety]) then ptr shall be a safely-derived pointer.

-10- ...

void operator delete(void* ptr, const std::nothrow_t&) throw();

Requires: If an implementation has strict pointer safety ([basic.stc.dynamic.safety]) then ptr shall be a safely-derived pointer.

-15- ...

Add paragraphs to [new.delete.array]:

void operator delete[](void* ptr) throw();
void operator delete[](void* ptr, const std::nothrow_t&) throw();
The second signature deletion above is editorial.

Requires: If an implementation has strict pointer safety ([basic.stc.dynamic.safety]) then ptr shall be a safely-derived pointer.

-9- ...

void operator delete[](void* ptr, const std::nothrow_t&) throw();

Requires: If an implementation has strict pointer safety ([basic.stc.dynamic.safety]) then ptr shall be a safely-derived pointer.

-13- ...

Add paragraphs to [new.delete.placement]:

void operator delete(void* ptr, void*) throw();

Requires: If an implementation has strict pointer safety ([basic.stc.dynamic.safety]) then ptr shall be a safely-derived pointer.

-7- ...

void operator delete[](void* ptr, void*) throw();

Requires: If an implementation has strict pointer safety ([basic.stc.dynamic.safety]) then ptr shall be a safely-derived pointer.

-9- ...

Date: 2010-10-21.18:28:33

[ Batavia (2009-05): ]

We recommend advancing this to Tentatively Ready with the understanding that it will not be moved for adoption unless and until the proposed resolution to Core issue #853 is adopted.

Date: 2009-05-09.00:00:00

[ 2009-05-09 Alisdair adds: ]

Proposed wording is too strict for implementations that do not support garbage collection. Updated wording supplied.

Date: 2010-10-21.18:28:33

[ Summit: ]

Agreed.

Date: 2009-03-11.00:00:00

Addresses UK 190

It is not entirely clear how the current specification acts in the presence of a garbage collected implementation.

History
Date User Action Args
2011-08-23 20:07:26adminsetstatus: wp -> c++11
2010-10-21 18:28:33adminsetmessages: + msg288
2010-10-21 18:28:33adminsetmessages: + msg287
2010-10-21 18:28:33adminsetmessages: + msg286
2010-10-21 18:28:33adminsetmessages: + msg285
2009-03-11 00:00:00admincreate