Commit graph

28 commits

Author SHA1 Message Date
Marcelo Matus
51a55b9705 fix seg fault with undefined templatee
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8662 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-31 17:18:31 +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
af7b90f2df avoid multiple Len() calls
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8161 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-01 11:03:35 +00:00
Marcelo Matus
c26263a2f4 normalize operation, first reduce, then qualify
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8055 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-23 10:12:15 +00:00
Marcelo Matus
fdf4d72b4b fix for templates to avoid using the templatereduce mode
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7961 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-09 09:25:28 +00:00
Marcelo Matus
b66f1e672b fix many/many memory leaks
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7904 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-30 21:32:27 +00:00
Marcelo Matus
3413b92e7a remove many memory leaks and cleanup
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7898 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-29 01:47:10 +00:00
Marcelo Matus
cf1585fef7 add NewStringEmpty, use more StringEuqual and less Strcmp
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7897 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-28 17:32:56 +00:00
Marcelo Matus
577f154040 add 'init' method plus keys to use with Getattr
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7885 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-27 02:57:03 +00:00
Marcelo Matus
b4edea6fa9 fix several memory leaks
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7036 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-03-07 20:39:46 +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
b8ae49d52d more fixes for template + def args
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6833 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-12-05 10:15:25 +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
56e38db2de add/fix protected/private bases + template
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6747 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-11-16 05:36:23 +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
7afd2f554b fix SWIGENUM -> enum SWIGTYPE, as is used now
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6528 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-10-27 01:59:20 +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
William S Fulton
77eef87058 templated function overloading support
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6394 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-10-16 20:41:17 +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
22d2c01b50 Fragments can now be "type especialized", as the typemaps. The
syntax is as follows

 %fragment("name","header") { /* an old fragment */ }
 %fragment("name" {Type}, "header") { /* the fragment is type dependent */}

Now fragments can also be used inside templates:

 template <class T>
 struct A {
   %fragment("incode"{A<T>},"header") {
     /* 'incode' especialized fragment */
   }

   %typemap(in,fragment="incode"{A<T>}) {
     /*
       here we use the 'type especialized' fragment
       "incode"{A<T> }
      */
   }
 };

Also, there is a minor templ.c fix when expanding '#T'.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5749 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-17 08:01:06 +00:00
Marcelo Matus
48d11474ee - Normalize the 'Swig_error' calls and formats, before some
of the strings start like "Error. XXX", others like "XXX".
  The format is now defined in 'error.c:Swig_error_msg_format()'.

- Normalize the multiline error/warning messages to correctly
  use -Fformat definition.

- Centralize the error/warning format definitions in
  'error.c:Swig_error_msg_format()'.

- Fix a minor error in cpp.c, that after finding an error, still
  was emitting a redefined macro, producing duplicated error/warning
  messages in parser.y.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5635 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-15 08:33:12 +00:00
Dave Beazley
4cf4dad108 Major refactoring of DOH List/Hash iterators. See CHANGES
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5101 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-09-11 20:26:57 +00:00
Dave Beazley
860baa7745 Fixed [ 794914 ] Wrong types in template specialization.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5060 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-09-01 19:59:39 +00:00
Dave Beazley
23b6a985cd Fixed [ 775989 ] numeric template parameters
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4994 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-08-11 19:24:31 +00:00
Dave Beazley
c54a578384 Fixed template partial specialization argument expansion bug
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4650 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-04-01 19:08:25 +00:00
Dave Beazley
1c61a931ad Extremely scary template patch to fix Luigi's partial specialization argument handling bug.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4398 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-02-26 17:44:28 +00:00
Dave Beazley
b940c7ae94 Fixed template argument replacement bug.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4169 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2002-12-10 16:15:22 +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