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