Commit graph

14,949 commits

Author SHA1 Message Date
William S Fulton
31af118c41 Move Swig_locator from scanner.c to cscanner.c. Fix file and line error/warning reporting fixes where SWIG macros are used within {} braces (where the preprocessor expands macros), for example macros within %inline {...} and %fragment(...) {...} and nested structs. Basically anything that results ina call to skip_balanced() in the parser/preprocessor.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12227 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-24 22:13:13 +00:00
William S Fulton
ea9275ca08 html fixes
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12226 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-21 18:09:20 +00:00
William S Fulton
1e051820ec Line/file reporting corrections for warnings: WARN_RUBY_MULTIPLE_INHERITANCE, WARN_TYPE_UNDEFINED_CLASS, WARN_MODULA3_MULTIPLE_INHERITANCE
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12225 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-21 06:07:06 +00:00
William S Fulton
6c094629cb File and line number corrections for warnings WARN_JAVA_MULTIPLE_INHERITANCE WARN_MODULA3_MULTIPLE_INHERITANCE WARN_CSHARP_MULTIPLE_INHERITANCE and errors 'The javabase typemap for proxy' 'No methodname attribute...' 'No methodmodifiers attribute...' 'The csbase typemap for proxy...'
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12224 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-20 19:11:55 +00:00
William S Fulton
b01277a19b Various inherited class warning/error line number fixes
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12223 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-18 01:14:21 +00:00
William S Fulton
8b31a92f61 Add missing typemap debug options to docs
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12222 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-15 22:26:34 +00:00
William S Fulton
d1e6643161 Expand the family of debug print functions for displaying DOH types. Provide gdb support for calling these. Document improved debugging experience.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12221 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-15 20:17:11 +00:00
William S Fulton
a202bf9818 Fix undefined behaviour
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12220 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-14 18:52:18 +00:00
William S Fulton
cfcad4ab69 Fix/Workaround unexpected call to Hash_str() when running make director_protected_overloaded.cpptest and director_using.cpptest
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12219 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-14 18:50:04 +00:00
William S Fulton
c0fe7400d2 Fix undefined behaviour with Ruby and autodoc generation
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12218 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-14 06:34:57 +00:00
Vadim Zeitlin
f89181d4c8 Fix the rename_pcre_encoder unit test for Python.
Due to a bug in the way %rename() directives without a name currently work,
the second %rename in rename_pcre_encoder.i overrides the first one and the
function wxDoSomething() is not renamed to DoSomething() any more. Remove the
test for this renaming that doesn't work to at least let the rest of the test
to pass.

Also test that SetXXX() functions from the .i file really are renamed to
putXXX() as expected.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12217 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-11 11:44:26 +00:00
Vadim Zeitlin
a26d6188a7 Work around autoconf 2.60 requirement due to use of AC_PROG_SED.
We currently require autoconf 2.58 only but AC_PROG_SED used by
AX_PATH_GENERIC internally is only defined by autoconf 2.60. To avoid
requiring a newer autoconf version just for this macro, predefine it as just
"sed" for the old versions.

This fixes the build with autoconf 2.58.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12216 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-11 11:44:08 +00:00
William S Fulton
efb9090a87 Fix correct line number reporting in errors/warnings when a macro definition ends with '/' and it is not the end of a C comment - swig.swg has some of these macro definitions.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12215 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-11 11:02:18 +00:00
William S Fulton
f82811dbcd Fix incorrect line number reporting in errors/warnings after parsing macro invocations with parameters given over more than one line.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12214 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-10 23:44:27 +00:00
William S Fulton
4435fe4f4a Update expected error/warning results since last commit
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12213 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-10 23:39:03 +00:00
William S Fulton
e3092a6150 Remove java specifics from testcase
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12212 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-10 06:40:42 +00:00
William S Fulton
122bc852f9 Fix #2149523 - Incorrect line number reporting in errors after parsing macros. Remove extraneous extra line in preprocessed output which would sometimes lead to error/warning messages two lines after the end of the file
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12211 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-10 06:08:45 +00:00
Olly Betts
f6cd7912e3 Revert change inadvertently included in previous commit.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12210 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-08 02:45:23 +00:00
Olly Betts
52819796ca Fix a couple of typos
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12209 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-08 02:43:32 +00:00
Olly Betts
a25ccbf58b [PHP] Fix handling of OUTPUT typemaps (Patch from Ryan in SF#3058394).
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12208 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-08 02:40:56 +00:00
Olly Betts
547019e0d4 Change HTML to be more suitable for human edits.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12207 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-08 00:54:31 +00:00
William S Fulton
b2e2cb8f66 Add test for line number reporting for multiple macro expansions
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12205 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-06 18:25:22 +00:00
William S Fulton
46bd4a26c6 Add expected error/warning messages log
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12204 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-06 18:12:13 +00:00
William S Fulton
b0609c3be2 Add some more preprocessor tests
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12203 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-06 18:10:43 +00:00
William S Fulton
04c3e6b7d3 Fix line numbering for 'Unterminated call invoking macro' error
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12202 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-06 17:30:18 +00:00
William S Fulton
197c8e899d Fix erroneous line numbers in argument count error messages for macro expansions
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12201 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-03 18:44:01 +00:00
William S Fulton
45601f24b4 Fix line numbers in error and warning messages for preprocessor messages within %inline. Also fixes __LINE__ within %inline
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12200 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-03 17:47:12 +00:00
William S Fulton
a44f83cf05 Fix line numbers in error and warning messages which were accumulately one less than they should have been after parsing each %include/%import - bug introduced in swig-1.3.32. Also fix line numbers in error and warning messages when new line characters appear between the %include / %import statement and the filename.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12199 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-03 06:03:48 +00:00
William S Fulton
1e6ed0843f minor clarification in test comment
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12198 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-01 21:11:09 +00:00
William S Fulton
aa728ece67 Fix __LINE__ and __FILE__ expansion in macros with no arguments
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12197 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-01 21:06:10 +00:00
William S Fulton
41bc29c9f0 Add missing changes documentation for rev 12195
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12196 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-08-31 06:02:10 +00:00
William S Fulton
31b5f36b74 Fix line number and file name reporting for some macro preprocessor warnings.
The line number of the macro argument has been corrected and the line number
of the start of the macro instead of one past the end is used. Some examples:
  file.h:11: Error: Illegal macro argument name '..'
  file.h:19: Error: Macro 'DUPLICATE' redefined,
  file.h:15: Error: previous definition of 'DUPLICATE'.
  file.h:25: Error: Variable-length macro argument must be last parameter
  file.h:32: Error: Illegal character in macro argument name
  file.i:37: Error: Macro 'SIT' expects 2 arguments

Code used for testing:
// file.h
%define SIT(ax,b)
abc(
%enddef

%define MISSING_DOT1(a,
b,
..)
xxx
%enddef

%define MISSING_DOT2(..)
xxx
%enddef

%define DUPLICATE(a,b)
abc
%enddef

%define DUPLICATE(b)
xxx
%enddef

%define VARARGS_WRONG(a,
x,
...,
 b)
xxx
%enddef

%define BAD_ARGNAME(
a,
b{c
)
xxx
%enddef

SIT(1)


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12195 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-08-29 23:32:49 +00:00
William S Fulton
5a6443ebcf Fix some more instances of __LINE__ and __FILE__ numbering
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12194 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-08-29 22:11:03 +00:00
William S Fulton
13d18e4c3f Fix test for non Java langs
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12193 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-08-26 18:18:11 +00:00
William S Fulton
69af82caa4 Fix __LINE__ and __FILE__ expansion. Mostly this did not work at all.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12192 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-08-26 18:06:02 +00:00
William S Fulton
8f8804b7a1 Fix corner case marshalling of doubles - errno was not being correctly set before calling strtod - patch from Justin Vallon
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12190 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-08-17 19:10:14 +00:00
William S Fulton
1c8618d635 Modified patch from Torsten Landschoff for fixing make distclean when the target languages that have no examples are detected - the default target was erroneously being run for clean and check of the examples
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12189 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-08-17 18:40:14 +00:00
Vadim Zeitlin
9b09784715 Add more regex function usage examples in %rename section.
Mention the examples from the test suite and the change log file in the manual
as well.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12188 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-08-14 14:12:39 +00:00
Vadim Zeitlin
024ed6ce2a Fix bug in applying regex replacement to non-matching strings.
We didn't handle pcre_exec() return code properly and so the replacement could
be still done even if there was no match if the replacement part contained
anything else than back-references (in this, the only tested so far, case the
replacement was still done but the result turned out to be empty and the
calling code assumed the regex didn't match).

Do check for PCRE_ERROR_NOMATCH now and also give an error message if another
error unexpectedly occurred.

Add a test case for the bug that was fixed.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12187 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-08-14 14:12:23 +00:00
William S Fulton
70b4d12317 Restore in source and out of source builds for the test-suite. Note that configure must be invoked using a relative path for out of source builds
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12186 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-07-28 05:53:17 +00:00
William S Fulton
af96789c14 Minor comment changes and html changes
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12181 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-07-23 19:34:17 +00:00
William S Fulton
c6c2c87e2a Add message about whether pcre is enabled or not
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12180 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-07-23 07:23:10 +00:00
William S Fulton
f6346b3df1 minor edits in %rename sections
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12179 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-07-23 07:21:46 +00:00
William S Fulton
d2ad66a9a9 remove duplicate definition of %$isextend
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12178 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-07-23 07:17:15 +00:00
Vadim Zeitlin
89a7ab0685 Include the values of configurable options in swig -version.
Show the value of important compilation options in swig -version output.

Currently there is just one such option, for PCRE use, but more may be added
in the future.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12176 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-07-22 17:02:55 +00:00
Vadim Zeitlin
587d843521 Remove old experimental rxspencer encoder and rxsmatch function.
They are replaced with the new, officially supported PCRE-based regex and
regexmatch.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12175 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-07-22 17:02:35 +00:00
Vadim Zeitlin
70c5bb5a47 Add support for "[not]regexmatch" and "regextarget" to %rename.
"regexmatch" and "notregexmatch" can be used with anonymous %renames in the
same way as "match" and "notmatch" while "regextarget" specifies that the
argument of a non-anonymous %rename should be interpreted as a regular
expression.

Document the new functions.

Also add a new unit test for %regex also testing regexmatch &c and provide
test code for C# and Java verifying that it works as intended.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12174 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-07-22 17:02:10 +00:00
Vadim Zeitlin
48a2e0bdea Correct top_{src,build}dir definitions in csharp and java test suite.
The ".." artificially appended to these variables was enough to make the build
work in the source directory but broke down when the build directory was
different from the source one. Remove this hack and use absolute path to the
build directory instead to ensure that it's still valid even when csharp/java
makefiles invoke swig_and_compile_{c,cpp} macros from a subdirectory.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12173 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-07-22 17:01:36 +00:00
Vadim Zeitlin
409ae85a74 Improve %rename(match) documentation.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12172 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-07-22 17:01:16 +00:00
Vadim Zeitlin
0b2561f300 Add a test case for the regex encoder inside %rename.
Simple unit test checking that %rename("%(regex:...)") works as expected.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12171 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-07-22 17:00:59 +00:00