This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: CNI & Exception handling
Andrew Haley wrote:
RamrajPrabu Balasubramanian writes:
> Hi,
> The project I'm working on involves writing CNI wrappers to existing
> c++ classes that we have. the problem is these c++ classes throw exceptions
> and there are a lot of them. I know catching c++ exceptions and rethrowing
> them as java exceptions casuses the " mixing java and c++ exceptions in same
> translation unit is not allowed" error.
> Getting past this hurdle is very important for us to adopt gcj in our
> projects, can some one suggest some ways to handle these c++ exceptions
> without changing our existing c++ code ?
The obvious solution is to have a layer that catches C++ exceptions
and returns appropriate flags. Another layer, separately compiled,
can throw Java exceptions.
Andrew,
Do you have an idea of how difficult it would be to relax this
restriction? Would it be possible to, say, only allow one type of
exceptions to be *caught* in a given compilation unit? Or, could we make
libgcj's personality routine handle C++ exceptions as well (for CNI
code)? Currently, this does seem like a pretty nasty limitation for CNI.
Regards
Bryce