Commit graph

17 commits

Author SHA1 Message Date
Marcelo Matus
5c5584ab40 better support for the %throws directive
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8350 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-10 17:19:22 +00:00
Marcelo Matus
a9ab040ef5 Move rename/namewarn engine from parser.y to naming.c. The code was getting
too large to be in the parser.

Centralize the swig keys to avoid replication and wrong spellings.

Use more HashGetAttr where possible and other speed improvements
to compensate for the extra work introduced by the new rename/namewarn
mechanism.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8170 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-02 04:33:19 +00:00
Marcelo Matus
2bdd8b07c0 add support for options in rename/namewarn and central methods to access the rename/warning hashs
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8150 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-31 10:41:54 +00:00
Marcelo Matus
901bb6d73b add the copyctor feature/directive to enable automatic copy constructors. In the way, fix how default ctor/dtor are added
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8129 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-30 00:04:00 +00:00
Marcelo Matus
33d17b37b2 add notemplatereduce
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7936 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-07 07:14:14 +00:00
Marcelo Matus
2ff3dd0d4e replace bad parameter names when neccessary
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7699 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-21 10:43:41 +00:00
Marcelo Matus
7ae82d1c51 fixes for templates and template default args, cosmetics, and other fixes for OSS
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6893 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-12-16 02:12:05 +00:00
Marcelo Matus
2d686c0a84 support of typemaps + template + template def args
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6808 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-12-01 01:01:03 +00:00
Marcelo Matus
ad3b351313 fixes for namespaces + class declarations + %template directive
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6576 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-11-01 08:38:21 +00:00
Marcelo Matus
1ac5674df0 add templatereduce option
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6543 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-10-28 23:49:41 +00:00
William S Fulton
97c2eeaf90 compact default arguments feature (original default argument wrapping mode)
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6449 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-10-20 20:59:33 +00:00
Marcelo Matus
c9ac6a4cb8 fix for template+default template params, better warnings, better management of extern "java"
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6424 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-10-18 01:23:20 +00:00
Marcelo Matus
2792ac8752 several fixes, see CHANGES.current 10/04/2004
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6317 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-10-05 00:19:26 +00:00
Marcelo Matus
587ecadac7 Fix for friend declarations, and other 'repeated' declarations.
Now, this doesn't generate warnings:

 class A; class B*;

 int foo(A*, B*);

 struct A {
   friend int foo(A*, B*);
 };

but this generates

 struct B {
   friend double foo(A*, B*);
 };

which is correct, since they have different return types.

See the redefined.i file for most cases where
repeated (but not redefined) declarations are
not generating warnings now, such as:

// no warning
#define REPEATED 1
#define REPEATED 1

// yes warning
#define REDEFINED 1
#define REDEFINED 2

this is following the C, C++ and preprocessor
standard behavior.

The function 'need_redefined_warn(..)' was added to
util.c, if some strange corner appears, and therefore,
the parser.y file doesn't need to be changed latter.

Also, the redefined warning format in parser.y
was changed, so now it respond to William's -Fmicrosoft
flag.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5633 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-15 03:16:40 +00:00
William S Fulton
7c67214d9f Moved non static function declarations from source files into header files
Added header include guard


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5601 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-28 21:44:41 +00:00
William S Fulton
f7283ef229 swigver.h removed
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4183 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2002-12-11 22:30:54 +00:00
Dave Beazley
516036631c The great merge
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4141 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2002-11-30 22:01:28 +00:00