[patch][rfc] Remove 'throw()' Specifiers from Virtual Destructors in the SID API

Dave Brolley brolley@redhat.com
Tue Jan 16 20:11:00 GMT 2007


Hi,

There is a SID port to the Toshiba Media Processor (MeP), which I will 
be submitting very soon. Toshiba has their own simulator for this target 
and it has an API which allows programmers to add their own devices to 
the simulation. Toshiba required that the SID port for this target also 
implement this API and support existing code written against it.

The implementation extends the API of a SID component with the methods 
required by the Toshiba API using a wrapper component. Each user-defined 
component then inherits from the wrapper component.

The problem comes with existing user code which does not specify a 
throw() specifier on its destructors. Newer releases of gcc enforce the 
requirement that the throw() specifier on the destructor of an 
inheriting class can not be less strict than that of the parent class(es).

Now, specifying throw() on a destructor is a minor optimization 
opportunity at best, so it is preprosed that these specifiers be removed 
from the SID API in order to allow extension of the SID API to match 
that of other existing APIs, like Toshiba's.

The attached patch does just that. I'm seeking approval to commit.

Thanks,
Dave

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: sid.throw.ChangeLog
URL: <http://sourceware.org/pipermail/sid/attachments/20070116/658a31ee/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: sid.throw.patch.txt
URL: <http://sourceware.org/pipermail/sid/attachments/20070116/658a31ee/attachment.txt>


More information about the Sid mailing list