*** empty log message ***

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6090 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2004-08-12 21:17:08 +00:00
commit 164cff7217

View file

@ -1,6 +1,18 @@
Version 1.3.22 (in progress)
==================================
08/12/2004: wsfulton
Patch #837715 from Ben Reser to correctly detect Python lib directory
on 64 bit systems.
08/12/2004: wsfulton
[C# and Java] Prevent memory leaks in the case of early return
from wrapper methods using const std::string & parameters. Modified
Mark Traudt patch #951565.
08/12/2004: wsfulton
Bug #943783 with patch fixes php char * out typemap NULL values.
08/03/2004: Ahmon Dancy <dancy@dancy>
[allegrocl] Additional case mode fixes. Also, make sure
@ -17,7 +29,7 @@ Version 1.3.22 (in progress)
swigrun.i.
07/23/2004: wsfulton
[C#] Bug #917601 Maping C++ bool fix from Mark Traudt
[C#] Bug #917601 Mapping C++ bool fix from Mark Traudt
07/23/2004: wsfulton
RPM fixes for latest CVS version including removal of runtime
@ -938,3 +950,53 @@ Version 1.3.22 (in progress)
throw;
}
01/12/2004: wsfulton on behalf of mmatus (marcelo matus)
if a method uses %exception and the method requires the use
of the throws typemap, the code in a throws typemap will be
generated inside the try body. For example:
%exception method {
try {
// method action
$action
} catch (int i) {
// method int catch handler
} catch (...) {
// method generic catch handler
}
}
%typemap(throws) Except %{
// throws typemap Except catch handler
%}
%inline %{
class Except {};
void method(int i) throw (Except);
Will generate:
{
try {
// method action
try {
method(arg1);
}
catch(Except &_e) {
// throws typemap Except catch handler
}
} catch (int i) {
// method int catch handler
} catch (...) {
// method generic catch handler
}
}
As can be seen, the inner try catch block is for the throws typemaps.
Previously, this was reversed so that the inner try catch block
was the %exception code. In the example above, it would have been
impossible to catch Except as the catch all (...) would catch the
exception instead.