git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4392 626c5289-ae23-0410-ae9c-e8d60b6d4f22
261 lines
10 KiB
Text
261 lines
10 KiB
Text
Version 1.3.18 (In progress)
|
|
============================
|
|
|
|
02/25/2003: beazley
|
|
Fixed [ 635347 ] Compilation warning from libpy.c.
|
|
Reported by Daniel L. Rall.
|
|
|
|
02/25/2003: beazley
|
|
Fixed a subtle problem with virtual method implementation
|
|
checking and typedef.
|
|
|
|
typedef int *intptr;
|
|
|
|
struct A {
|
|
virtual int *foo() = 0;
|
|
};
|
|
struct B : public A {
|
|
virtual intptr foo() { };
|
|
};
|
|
|
|
SWIG was treating these declarations as different even though
|
|
they are the same (via typedef).
|
|
|
|
02/25/2003: ljohnson (Lyle Johnson)
|
|
[Ruby] Added range checking for the NUM2USHRT macro, per [ 675353 ].
|
|
|
|
02/24/2003: beazley
|
|
Fixed a subtle problem with the code that determined if a class is abstract
|
|
and can be instantiated. If you had classes like this:
|
|
|
|
struct A {
|
|
virtual int foo(int) = 0;
|
|
};
|
|
struct B : virtual A {
|
|
virtual int foo(int);
|
|
};
|
|
|
|
struct C : virtual A {
|
|
};
|
|
|
|
/* Note order of base classes */
|
|
struct D : B, C { }; /* Ok */
|
|
struct E : C, B { }; /* Broken */
|
|
|
|
then SWIG determined that it could instantiate D(), but not E().
|
|
This inconsistency arose from the depth-first search of the
|
|
inheritance hierarchy to locate the implementations of virtual
|
|
methods. This problem should now be fixed---SWIG will attempt
|
|
to locate any valid implementation of a virtual method by
|
|
traversing over the entire hierarchy.
|
|
|
|
02/19/2003: cheetah (William Fulton)
|
|
[Java] Fix for using enum typemaps. The Java final static variable type
|
|
can be set using the jstype typemap, enabling enums to be mapped to
|
|
something other than int. Bug reported by Heiner Petith.
|
|
|
|
02/21/2003: songyanf (Tiger)
|
|
Added CSharp (C#) module prototype
|
|
i.e. csharp.cxx & csharp.h at Source/Modules/.
|
|
They are for test usage only now and need improvement.
|
|
The interface also need to be modified.
|
|
|
|
*** NEW FEATURE ***
|
|
|
|
02/20/2003: songyanf (Tiger)
|
|
Fixed problem with typedef with -fvirtual.
|
|
Similar as beazley's modification today.
|
|
|
|
02/20/2003: beazley
|
|
Added support for gcc-style variadic preprocessor macros.
|
|
Patch [ 623258 ] GCC-style vararg macro support.
|
|
Contributed by Joe Mason.
|
|
|
|
02/20/2003: beazley
|
|
Fixed [ 605162 ] Typemap local variables.
|
|
Reported by Lyle Johnson.
|
|
|
|
02/20/2003: beazley
|
|
Fixed problem with abstract classes and typedef. For example:
|
|
|
|
class Foo {
|
|
public:
|
|
virtual void foo(int x) = 0;
|
|
};
|
|
|
|
typedef int Integer;
|
|
class Bar : public Foo {
|
|
public:
|
|
virtual void foo(Integer x);
|
|
};
|
|
|
|
SWIG was getting confused about the latter method---making Bar
|
|
abstract. Reported by Marcelo Matus.
|
|
|
|
02/19/2003: cheetah (William Fulton)
|
|
[Java] %javaconst(flag) can also be used on enums as well as constants.
|
|
This feature enables true Java compiler constants so that they can be
|
|
used in Java switch statements. Thanks to Heiner Petith for patches.
|
|
|
|
02/19/2003: songyanf (Tiger)
|
|
Modified -fcompact feature to deal with PP lines
|
|
|
|
02/18/2003: beazley
|
|
Fixed [ 689040 ] Missing return value in std_vector.i.
|
|
Reported by Robert H. de Vries.
|
|
|
|
02/18/2003: beazley
|
|
Fixed a few evil scoping problems with templates, namespaces, and the
|
|
%extend directive. Problem reported by Luigi Ballabio.
|
|
|
|
|
|
02/18/2003: cheetah (William Fulton)
|
|
[Ruby] Improved support for Visual C++ and other native Windows compilers.
|
|
It is no longer necessary to specify "/EXPORT:Init_<module>", where <module> is the
|
|
swig module name when linking using these native Windows compilers.
|
|
|
|
02/15/2003: songyanf (Tiger)
|
|
Added -fvirtual option.
|
|
Reduce the lines and size of the wrapper file
|
|
by omitting redifined virtual function in children classes.
|
|
|
|
Modified -compact option to -fcompact option
|
|
|
|
Added -small option.
|
|
-small = -fvirtual -fcompact
|
|
And it can be extended by future feature options,
|
|
which are used to reduce wrapper file szie.
|
|
|
|
Added SWIG_FEATURES environment variable check.
|
|
To dynamically set the feature options such as -fcompact & -fvirtual
|
|
*** NEW FEATURE ***
|
|
|
|
02/13/2003: lenz
|
|
Updated Doc/Manual/Perl5.html to talk about C++ compile problems
|
|
configure.in now checks for PERL5_CCFLAGS
|
|
Runtime/Makefile.in and Example/Makefile.in now use PERL5_CCFLAGS
|
|
Added Lib/perl5/noembed.h which contains all the known macro conflicts
|
|
|
|
02/12/2003: beazley
|
|
Fixed [ 685410 ] C++ Explicit template instantiation causes SWIG to exit.
|
|
Fixes a syntax error with declarations similar to this:
|
|
|
|
template class std::vector<int>;
|
|
|
|
SWIG now ignores the instantiation and generates a warning message.
|
|
We might do more later. Reported by Thomas Williamson.
|
|
|
|
02/11/2003: cheetah (William Fulton)
|
|
Rewrote bool typemaps to remove performance warning for compiling generated code
|
|
under Visual C++.
|
|
|
|
02/11/2003: cheetah (William Fulton)
|
|
Fix for wrapping reference variables (const non-primitive and all non-const types)
|
|
for example:
|
|
int& i;
|
|
Class& c;
|
|
const Class& c;
|
|
|
|
02/11/2003: beazley
|
|
Fixed more very subtle preprocessor corner cases related to recursive
|
|
macro expansion. For example:
|
|
|
|
#define cat(x,y) x ## y
|
|
|
|
cat(cat(1,2),3) // Produces: cat(1,2)3
|
|
|
|
#define xcat(x,y) cat(x,y)
|
|
|
|
xcat(xcat(1,2),3) // Produces 123
|
|
|
|
See K&R, 2nd Ed. p. 231.
|
|
|
|
02/10/2003: cheetah (William Fulton)
|
|
Fixed [ 683882 ] - patch submitted by F. Postma for SWIG to compile on HP-UX.
|
|
|
|
02/10/2003: beazley
|
|
Fixed subtle preprocessor argument expansion bug. Reported by Marcelo Matus.
|
|
|
|
02/10/2003: songyanf
|
|
Added -compact option.
|
|
Reduce the lines and size of the wrapper file
|
|
by omitting comments and combining short lines.
|
|
*** NEW FEATURE ***
|
|
|
|
02/07/2003: beazley
|
|
Fixed [ 651355 ] Syntax error with cstring.i
|
|
Reported by Omri Barel.
|
|
|
|
02/07/2003: beazley
|
|
Fixed [ 663632 ] incompatibility with standard cpp.
|
|
This is a refinement that fixes this problem:
|
|
|
|
// Some macro with an argument
|
|
#define FOO(x) x
|
|
|
|
int FOO; /* Not a macro---no arguments */
|
|
|
|
02/05/2003: beazley
|
|
Fixed [ 675491 ] parse error with global namespace qualification.
|
|
Submitted by Jeremy Yallop.
|
|
|
|
02/04/2003: beazley
|
|
Fixed bug in varargs processing introduced by the numinputs typemap parameter.
|
|
|
|
01/08/2003: ttn
|
|
[xml] Fix string-replacement ordering buglet.
|
|
Thanks to Gary Herron.
|
|
|
|
12/23/2002: cheetah (William Fulton)
|
|
Further build changes:
|
|
- The SWIG executable is now built using a single Makefile.
|
|
- This makefile is generated by Automake (Source/Makefile.am).
|
|
- Dependency tracking and tags support are in this makefile.
|
|
- Automake 1.7.2 and Autoconf 2.54 minimum versions are needed to build SWIG from CVS.
|
|
- Running ./autogen.sh now installs Autoconf/Automake support files into
|
|
Tools/config and these files are no longer stored in CVS.
|
|
- Bug fixes in 'make install' for systems using .exe executable extension and
|
|
./configure --with-release-suffix=whatever
|
|
|
|
12/16/2002: cheetah (William Fulton)
|
|
More build changes:
|
|
- Autoconf's AC_CANONICAL_HOST replaces proprietary approach for detecting build host.
|
|
- Autoconf support files moved to Tools/config.
|
|
|
|
12/16/2002: cheetah (William Fulton)
|
|
Modifications to run on MacOS, submitted by Bernard Desgraupes.
|
|
Mainly ensuring generated files are output in the appropriate directory for
|
|
some modules.
|
|
|
|
12/11/2002: cheetah (William Fulton)
|
|
Various build modifications and bug fixes:
|
|
- Simplification of version string. Use autoconf's PACKAGE_VERSION instead.
|
|
- Build time removed from SWIG version.
|
|
- Using standard autoconf config header generation.
|
|
- Updated old autoconf macros as reported by autoupdate.
|
|
- Removed $prefix in autoconf from search paths as autoconf won't expand them.
|
|
- Subtle bug fix where 'make prefix=/somewhere; make clean; make prefix=/somwhere/else'
|
|
produced an executable using the incorrect library directories.
|
|
- Added -ldflags commandline option for MzScheme, Ocaml, Pike and PHP.
|
|
- Fixed reporting of compiler used when using -version commandline option.
|
|
- SWIG web address added to -version commandline option.
|
|
|
|
12/11/2002: beazley
|
|
Minor fix to Tcl dynamic cast typemaps. Reported by
|
|
Kristopher Blom.
|
|
|
|
12/10/2002: beazley
|
|
Fixed subtle template argument replace bug. Reported by
|
|
Chris Flatley.
|
|
|
|
12/10/2002: beazley
|
|
Reverted CHANGES 09/03/2002, preprocessor argument evaluation. Arguments
|
|
are not evaluated during collection, K&R, p. 230.
|
|
|
|
12/06/2002: beazley
|
|
Fixed [ 649022 ] Compilation problems with KAI/KCC
|
|
|
|
12/02/2002: beazley
|
|
SWIG 'rel-1-3' CVS branch merged back into the main branch.
|
|
|
|
|