ia64 c++ abi exception handling

Benjamin Kosnik bkoz@redhat.com
Mon Mar 12 12:46:00 GMT 2001


Richard I'm just going to go over the libstdc++-v3 bits.

1) Index: libstdc++-v3/libsupc++/eh_alloc.cc

+ extern "C" void *
+ __cxa_allocate_exception(size_t thrown_size)
			   std::size_t

size_t should always be qualified in c++ code with std::, now that the
headers are properly constructed.

+ // ??? How to control these parameters.
+ 
+ // Guess from the size of basic types how large a buffer is reasonable.

I'm a bit confused by this: seems kind of wonky. Since we're taking
pains to generate the C++ header file <limits> correctly for each
architecture, I'd think you could do:

 numeric_limits<int>::max() //largest value
 numeric_limits<int>::digits() //bit size

and get the correct answer without these defines. 

Anyway. This is just a suggestion of a way to do this differently, but
it's not especially important.


2) Index: libstdc++-v3/libsupc++/eh_bad.cc

You might want to consider naming this file so that people know this
refers to section 2.6 Auxiliary Runtime APIs of the exception document
for the C++ ABI. (I know, it's pretty confusing)

eh_bad.cc seems kind of weak, eh_aux_runtime.cc seems better, but whatever.


3) Index: libstdc++-v3/libsupc++/eh_impl.cc

Similarly, all that's in here is std::exception::what definition, so
you might want to consider using the C++ iso 14882 tags:

18.6.1 class exception [lib.exception]

or exception.cc.

Also, kill the pragma implementation: we shouldn't be using this
pragma anymore.


4) Index: libstdc++-v3/libsupc++/eh_term.cc

blah blah blah: you are being consistent but the naming is terse. 


5) Index: libstdc++-v3/libsupc++/Makefile.am

Remove exception_support.h from headers.


Anyway.

Looks good, thanks again for doing this.

-benjamin



More information about the Gcc-patches mailing list