Petre Eftime
0a07cd4c30
Prevent redefinition warnings when compiling with SWIG<module> defined
...
Signed-off-by: Petre Eftime <petre.p.eftime@intel.com>
2015-12-22 14:33:21 +02:00
Joseph C Wang
834a93f449
Revert "Merge pull request #494 from richardbeare/enumR2015B"
...
This reverts commit cb8973f313 , reversing
changes made to ac3284f78c .
2015-08-11 09:57:57 +08:00
Richard Beare
da1c6c60d3
This is a modification to support use of tricky enumerations in R. It
...
includes the addition of a _runme for an existing test - preproc_constants
that was previously not run. That tests includes a preprocessor based
setting of an enumeration which is ignored by the existing r enumeration
infrastructure. The new version correctly reports the enumeration value
as 4 - previous versions set it to 0. Traditional enumerations are unchanged.
The approach used to deal with these enumerations is similar to that of
other languages, and requires a call to a C function at runtime to return
the enumeration value. The previous approach figured out the values statically
and this is still used where possible. The need for a runtime call leads to
changes in when swig code is used in packages - see below.
One test that previously passed now fails - namely the R sourcing of
preproc_constants.R, as the enumeration code requires the shared library,
which isn't loaded by that script.
There is also a modification to the way the R _runme.R files are used.
The call to R CMD BATCH now includes a --args option that indicates
the source folder for the unittest.R file, and the first couple
of lines of the _runme.R files deal with correctly locating this.
Out of source tests now run correctly.
This work was motivated by problems generating the SimpleITK binding,
specifically with some of the more complex enumerations.
This approach does have some issues wrt to code in packages, but I can't
see an alternative. The problem with packages is that the R code setting
up the enumeration structures requires the shared library so that the C
functions returning enumeration values can be called. The enumeration
setup code thus needs to be moved to the package initialisation section.
For SimpleITK I do this using an R script, which I think is an acceptable
solution. The core part of the process is the following function. I dump
all the enumeration stuff into a .onload function. This is only necessary
if some of the enumerations are tricky.
splitSwigFile <- function(filename, onloadfile, mainfile)
{
p1 <- parse(file=filename)
getdefineEnum <- function(X)
{
return (is.call(X) & (X[[1]]=="defineEnumeration"))
}
dd <- sapply(p1, getdefineEnum)
enums <- p1[dd]
enums <- unlist(lapply(enums, deparse))
enums <- c(".onLoad <- function(libname, pkgname) {", enums, "}")
everythingelse <- p1[!dd]
everythingelse <- unlist(lapply(everythingelse, deparse))
writeLines(everythingelse, mainfile)
writeLines(enums, onloadfile)
}
2015-08-10 09:37:04 +10:00
William S Fulton
b94820adcf
Fix r.cxx build break
2015-06-12 23:37:08 +01:00
William S Fulton
9b2bde403b
R - Remove constantWrapper message wrapping constants
...
An implementation is still needed for constants.
2015-06-12 20:26:24 +01:00
William S Fulton
55e7264d43
Clearer warning message for badly constructed typecheck typemaps
2015-04-14 07:34:40 +01:00
Olly Betts
36be36d618
Eliminate needless casting away const from string constants
2014-04-30 12:00:23 +12:00
Olly Betts
618868ce3d
Fix typos
2014-04-29 11:31:29 +12:00
William S Fulton
61a75f3b65
Remove unused variable
2014-04-22 19:43:16 +01:00
William S Fulton
a1c17d585d
Fix R unions seg fault
...
Started seg faulting since nested branch merge
2013-12-14 22:35:02 +00:00
William S Fulton
7841a0d097
Remove cvs/svn Id strings
2013-01-12 01:21:16 +00:00
Joseph Wang
413a485ac1
add finalizer for class fix. It was missing from earlier
...
additions
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13957 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-12-12 12:41:07 +00:00
William S Fulton
89052f3b0a
Fix Strcmp - it didn't have consistent null pointer handling - revert to what it used to be - a lightweight wrapper around strcmp which means functions once again must not pass in null to it.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13943 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-12-02 13:36:13 +00:00
William S Fulton
0d2c459046
Remove some unused code and pointless variable assignments
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13932 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-11-23 07:38:00 +00:00
William S Fulton
2b8bfe410e
Remove unnecessary null checks or fix potential null dereferences
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13924 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-11-20 23:29:35 +00:00
William S Fulton
46d2486115
Resource leak fixes (or hiding them from Coverity static analysis tool by using String instead of char *)
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13886 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-11-14 22:16:54 +00:00
William S Fulton
5a1e82a2f4
Remove DohClose (Close) and replace with calls to DohDelete (Delete) to fix some minor memory leaks in most uses of NewFile.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13885 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-11-14 22:16:07 +00:00
William S Fulton
421139a5fe
Fix some subtle named output typemap lookup misses, the fully qualified name was not always being in all cases such as member variables
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13878 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-11-13 22:16:28 +00:00
Joseph Wang
33bb317b61
make ExternalReference slot ref to contain reference
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13721 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-26 03:35:04 +00:00
William S Fulton
be1c4d2e68
Revert r13601 as it breaks older versions of R
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13713 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-20 21:20:19 +00:00
Joseph Wang
fad95da7f5
change R components so that pointers are visible through ref
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13601 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-12 15:21:39 +00:00
William S Fulton
19a29c3212
Fix use of deleted memory in R module
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13557 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-08 06:07:34 +00:00
Joseph Wang
625da47d3b
change method of passing arguments into R overloading code
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12937 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-03-18 17:11:02 +00:00
Joseph Wang
2014ba34ab
add rtypecheck
...
fixed function pointer to pass regression tests
added some debug
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12936 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-03-18 13:46:12 +00:00
Joseph Wang
88eaf1b396
switch on debugs in debug mode
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12933 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-03-18 08:02:09 +00:00
Joseph Wang
366d8efd0b
change stderr -> stdout for debug messages
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12932 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-03-18 07:56:52 +00:00
William S Fulton
24133bacd7
Remove numerous hard coded 'result' variable name in generated c/c++ wrappers. The variable name is now defined in just one place, making it possible to change the name easily if a target language so wishes - see cwrap.c.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12830 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-10-30 21:51:50 +00:00
William S Fulton
a63d456f8a
Remove redundant code highlighted by warnings in gcc-4.6
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12536 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-03-14 07:22:08 +00:00
William S Fulton
b69b793d8e
Better consistency in usage display
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12524 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-03-09 21:42:38 +00:00
William S Fulton
f4c74bc500
R - SF #3168676 Fix %rename not working for member variables and methods. Add new simple rename testcase with runtime tests for C# and R
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12432 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-02-04 23:42:06 +00:00
Joseph Wang
f77ccd81d5
[R] Improve error message for missing argtypes
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12283 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-10-17 09:35:34 +00:00
Joseph Wang
98441fc6ad
[R] Fix failure in overloaded functions which was breaking
...
QuantLib-SWIG
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12282 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-10-17 07:33:58 +00:00
William S Fulton
95a3eb5a7d
code style: fix inconsistent NULL pointer comparisons
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12137 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-06-17 23:49:12 +00:00
Ian Lance Taylor
5af2978f77
Add support for the Go programming language.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12108 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-06-10 01:13:31 +00:00
Joseph Wang
70c557e8e3
add R garbage collection and newfree
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12023 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-05-12 04:12:42 +00:00
William S Fulton
2a1a430967
Remove some R debugging output
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11959 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-04-01 18:29:36 +00:00
William S Fulton
cb64f65bae
SWIG license change - Source moves to GPLv3
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11876 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-02-27 23:53:33 +00:00
William S Fulton
0635616c72
remove some dead code using which should be using SwigType_typedef_resolve_all instead of SwigType_typedef_resolve
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11823 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-01-20 19:58:28 +00:00
William S Fulton
e554146aac
Fix a few inconsistencies in reporting of file/line numberings including modifying the overload warnings to now be two line warnings
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11813 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-01-09 19:34:43 +00:00
William S Fulton
83bd820285
Add typemaps used debugging option (-debug-tmused). Fix missing file/line numbers for typemap warnings and in the output from the -debug-tmsearch/-debug-tmused options
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11802 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-01-04 19:33:52 +00:00
Joseph Wang
b279cd3dde
add std_map
...
fix compact mode
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11731 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-10 02:32:29 +00:00
Joseph Wang
e351dfceaf
first pass at making fcompact work with R
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11722 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-04 03:48:17 +00:00
William S Fulton
413f114eda
fix some overloaded warning messages when templates are used
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11454 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-07-26 21:21:26 +00:00
William S Fulton
efa11dee52
add new %begin directive for inserting code at top of wrapper file
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11133 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-02-20 07:52:24 +00:00
William S Fulton
5ec2d8c166
All languages now define a macro in the generated C/C++ wrapper file indicating which language is being wrapped, eg #define SWIGJAVA
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11018 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-12-30 00:38:34 +00:00
William S Fulton
d2f69e6a34
add missing language specific preprocessor define where missing for some languages
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11017 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-12-29 23:56:03 +00:00
William S Fulton
cc522323d7
create a common banner header for all target language specific files
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11016 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-12-29 22:56:25 +00:00
William S Fulton
6fb0f48935
customised ccache support: read the CCACHE_OUTFILES env variable and if exists, the names of all generated files are written to the filename specified in the env variable
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10898 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-11-03 12:51:45 +00:00
William S Fulton
49675199f4
Remove some vc++ /W4 warnings
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10540 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-06-21 15:23:02 +00:00
William S Fulton
9c323f4a70
Add R keyword support. Rename keywords for successful compilation of Java and C# code. More consistent keyword warnings across the different languages.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10530 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-06-19 20:02:13 +00:00