*** empty log message ***
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5188 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
395150a77e
commit
1f2ebeb4e2
1 changed files with 26 additions and 0 deletions
|
|
@ -1,6 +1,32 @@
|
||||||
Version 1.3.20 (In progress)
|
Version 1.3.20 (In progress)
|
||||||
============================
|
============================
|
||||||
|
|
||||||
|
10/14/2003: beazley
|
||||||
|
Fixed a subtle problem with overloaded methods and smart pointers.
|
||||||
|
If a class has overloaded methods like this:
|
||||||
|
|
||||||
|
class Foo {
|
||||||
|
public:
|
||||||
|
int bar(int x);
|
||||||
|
static int bar(int x, int y);
|
||||||
|
};
|
||||||
|
|
||||||
|
and the class is used as a smart pointer:
|
||||||
|
|
||||||
|
class FooPtr {
|
||||||
|
public:
|
||||||
|
Foo *operator->();
|
||||||
|
};
|
||||||
|
|
||||||
|
The SWIG would try to expose the static member Foo::bar
|
||||||
|
through FooPtr---resulting bogus wrapper code and a compiler
|
||||||
|
error.
|
||||||
|
|
||||||
|
Due to the way in which overloading is handled, it is
|
||||||
|
extremely difficult to eliminate the static method in
|
||||||
|
this case. Therefore, it is still exposed. However,
|
||||||
|
the generated code now compiles and works.
|
||||||
|
|
||||||
10/05/2003: mkoeppe (Matthias Koeppe)
|
10/05/2003: mkoeppe (Matthias Koeppe)
|
||||||
[Guile, MzScheme, Chicken]: Remove symbol clashes between
|
[Guile, MzScheme, Chicken]: Remove symbol clashes between
|
||||||
the runtime libraries by renaming all extern common.swg
|
the runtime libraries by renaming all extern common.swg
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue