swig/SWIG/CHANGES.current
Dave Beazley c1cc3341cd *** empty log message ***
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4392 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-02-25 21:14:25 +00:00

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.