[K42-discussion] virtual destructors

Donour Sizemore donour at cs.unm.edu
Sat Jul 8 03:41:22 EST 2006


Patrick G. Bridges wrote:
> On Jul 6, 2006, at 4:49 PM, Andrew Baumann wrote:
>
>   
>> On Friday 07 July 2006 06:15, Donour Sizemore wrote:
>>     
>>> When compiling the above example, a strange symbol is being  
>>> referenced
>>> (_ZdlPv) but isn't defined and I can't figure out what it is or  
>>> where it
>>> comes from. It doesn't appear to be a mangled version of anything I
>>> recognize. Does anybody have an idea what could be happening here?
>>>       
>> Actually, it is something mangled:
>>
>> 	$ c++filt _ZdlPv
>> 	operator delete(void*)
>>
>> Googling for _ZdlPv is informative... apparently a call to this  
>> symbol is
>> emitted when you do a delete(void *), and it should be part of the  
>> standard
>> libraries.
>>
>> Andrew [still learning something new about C++ every day]
>>     
>
> The DEFINE_NEW macro in AllocPool.C looks like it only defines  
> operator delete(void *, uval size), note operator delete(void *). Is  
> simply adding this operator the appropriate solution, or is something  
> more general needed?
>   
That doesn't appear to work in this case. More specifically, even adding 
an operator delete(void*) to that macro, the symbol still doesn't get 
defined.

donour



More information about the K42-discussion mailing list