Rick Luddy
b1204ce92f
Revert reference change; update CHANGES.current
2015-09-03 14:30:18 -04:00
Rick Luddy
a1e385694e
Removed golang stringing for signed/unsigned char
...
With this change, generated code for golang treats char* as a string but
treats signed char* and unsigned char* as normal pointers. This seems to
fit better with the expected behavior, as the latter are more often used
as non-string data.
2015-08-25 09:17:19 -04:00
Ian Lance Taylor
48263f4802
[Go] Make sure that arguments for which use memcpy when calling C are
...
still live after the call. This ensures that they will not be
collected if the GC runs during the call.
2015-05-04 15:11:31 -07:00
Ian Lance Taylor
661c4ba036
[Go] Add comments telling users that _swig_goallocate and
...
_swig_makegostring will no longer work in the Go 1.5 release.
Keep the existing code so that existing users with current versions of
Go will not break suddenly.
2015-04-17 09:44:40 -07:00
Ian Lance Taylor
9ad497c08e
[Go] Add -cgo option, required for Go version 1.5 and later.
2015-03-02 14:03:33 -08:00
Ian Lance Taylor
1dd401899f
[Go] Change SWIG directors to use a handle instead of a Go pointer.
...
In future releases of Go it will not be possible to pass Go pointers
into C/C++ code. The handle is automatically translated back to the
Go value using a Go map. Since directors must be explicitly deleted,
we can reliably use that call to remove the handle from the map.
2015-02-22 11:09:58 -08:00
William S Fulton
2947b711d9
Warning fixes in Go cdata library
...
GCC warnings -Wpointer-to-int-cast and -Wdeclaration-after-statement
2015-02-11 23:34:16 +00:00
Ian Lance Taylor
0a021a938e
[Go] Remove all generated calls to _swig_makegostring, as it will no
...
longer as of Go 1.5. In Go 1.5 or later user calls to
_swig_makegostring will fail at link time.
Instead, use goout and godirectorin typemaps to allocate strings in Go
code.
Change the Go typemaps support to ignore empty strings, so that we can
define empty strings for regular types so that %apply will override
the definitions for string types.
Fix the gccgo code to wrap SwigCgoCallback around all godirectorin
typemaps.
Add a few newlines after typemap code so that the typemaps don't have
to include them.
2015-02-05 10:15:37 -08:00
Ian Lance Taylor
2562c1eb41
[Go] Remove all calls to _swig_goallocate in the Go runtime, except
...
for the one from _swig_makegostring. _swig_goallocate can not work
with the future Go 1.5 release. When using Go 1.5 attempts to call
_swig_goallocate will fail at link time.
2015-02-04 16:08:44 -08:00
William S Fulton
fd8dcf44bf
C++11 strongly typed enum fixes for directors
...
Tests added for previous commit. Further refinements to patch #308 and
fixes #307 .
2015-01-15 19:48:07 +00:00
Ian Lance Taylor
0577ff2220
[Go] Adjust last patch to avoid write-after-write data race on global
...
variable. Only set the variable if another global variable is true,
but that variable is always false. The effect is that the variable is
never written, but as far as the compiler is concerned it might escape.
2014-10-14 10:05:43 -07:00
Ian Lance Taylor
4b64ce71a3
[Go] Adjust generated code to work with upcoming Go 1.4 release.
2014-09-25 12:10:11 -07:00
Ian Lance Taylor
acaaa0f31f
[Go] Add goargout typemap.
2014-09-09 11:28:04 -07:00
Karl Wette
66555ad2a7
Fix go configuration and SWIG_GCC_VERSION
...
- in configure.ac: modify sed expression to only look at first line of
gccgo --version, extract the last numeric token, and remove periods;
this parses e.g. "gccgo (Debian 4.7.2-5) 4.7.2"
- in goruntime.swg: fix typo in __GNUC_PATCHLEVEL__ (SF Bug #1298 )
2014-05-02 21:44:52 +02:00
Marvin Greenberg
843aa7cd65
Work around differences in clang libc++ std::vector<bool>::const_reference
...
clang++ using -stdlib=libc++ defines const_reference as a class,
to map boolean vectors onto a bit set. Because swig does
not "see" the type as "const &" it generates incorrect code for this case,
generating a declaration like:
const_reference result;
When const_reference is a typedef to 'bool' as is the case with stdlibc++
this works. When this is actually a constant reference, this is clearly
invalid since it is not initialized. For libc++, this is a class
which cannot be default constructed, resulting in an error. The fix
is to explicitly define the various accessor extensions as having a
bool return type for this specialization.
2014-02-04 16:00:12 -05:00
Ian Lance Taylor
fa9a6d58ed
[Go] Fix handling of C type "long" on 32-bit systems. It was broken
...
for C++ long& and for big-endian systems in general.
2014-01-27 17:49:35 -08:00
Ian Lance Taylor
f2dc3a9c1f
[Go] Add %go_import directive.
2014-01-21 11:27:09 -08:00
Ian Lance Taylor
ba049db40b
Remove Go -longsize option.
2013-12-17 17:37:55 -08:00
Ian Lance Taylor
532da6989c
[Go] Add -go-pkgpath option.
2013-12-17 13:50:39 -08:00
Ian Lance Taylor
1dca0af024
Update for Go 1.2 release. Add support for linking SWIG code directly
...
into executable, rather than using a shared library.
2013-12-16 19:50:17 -08:00
William S Fulton
bcb7aee022
Merge branch 'master' into gsoc2009-matevz
...
Conflicts:
Examples/Makefile.in
Examples/guile/Makefile.in
Lib/php/php.swg
Makefile.in
Source/CParse/parser.y
configure.ac
2013-10-10 07:26:09 +01:00
Olly Betts
12708c9241
Fix typos
2013-09-25 17:29:33 +12:00
William S Fulton
e805d5f925
Merge branch 'master' into gsoc2009-matevz
...
parser.y still to be fixed up
Conflicts:
Doc/Devel/engineering.html
Examples/Makefile.in
Lib/allegrocl/allegrocl.swg
Lib/csharp/csharp.swg
Lib/csharp/enums.swg
Lib/csharp/enumsimple.swg
Lib/csharp/enumtypesafe.swg
Lib/java/java.swg
Lib/python/pydocs.swg
Lib/r/rtype.swg
Source/Include/swigwarn.h
Source/Modules/octave.cxx
Source/Modules/python.cxx
Source/Modules/ruby.cxx
Source/Swig/scanner.c
Source/Swig/stype.c
Source/Swig/swig.h
configure.ac
2013-01-28 07:01:37 +00:00
William S Fulton
e87a51ed92
Add rvalue reference typemaps
2013-01-24 20:27:28 +00:00
Ian Lance Taylor
ab7da898ef
Define uintgo for the benefit of Go .swig files.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13876 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-10-31 03:41:10 +00:00
Ian Lance Taylor
786d883d45
Fix Go support for enums to work correctly when Go int type is 64 bits.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13875 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-10-30 23:38:57 +00:00
Ian Lance Taylor
a42882dcee
Adjust for change in the size of the Go type int. Until some time in
...
the future, require a -intgosize option when invoking SWIG. Otherwise
there is no reliable way for us to know the size of int, and we need
to know.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13864 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-10-05 04:58:00 +00:00
Ian Lance Taylor
5e30ec58e8
Adjust typemaps.i for change in handling of reference to slice.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13856 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-10-02 14:53:13 +00:00
Ian Lance Taylor
5a19113432
Import unsafe in generated Go code, so that pointers stored as type
...
uintptr do not get garbage collected.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13153 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-06-05 20:54:08 +00:00
Ian Lance Taylor
9a6dc5ac40
Fix typo in name of SwigDoCgocallDone for GCC < 4.7.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13151 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-06-05 13:32:28 +00:00
Ian Lance Taylor
7ec208da05
Fix Go support to use appropriate interface for entering and leaving
...
C/C++ code, depending on GCC version.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13146 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-06-04 05:37:10 +00:00
William S Fulton
12a9671440
std::string typemap modifications so they can be used with %apply for other string classes
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13120 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-05-26 06:33:49 +00:00
Ian Lance Taylor
602730a327
Add support for new features available in gccgo 4.7, notably calling
...
Entersyscall and Exitsyscall around calls to wrapped C/C++ code.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12940 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-03-20 22:35:40 +00:00
Ian Lance Taylor
eb5130814d
Fix problems in Go support revealed by recent test cases.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12922 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-03-14 19:27:23 +00:00
William S Fulton
4c898b023c
The 'directorin' typemap now accepts , etc expansions instead of having to use workarounds - _name, _name etc.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12879 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-12-21 07:16:44 +00:00
William S Fulton
8ee0593036
Remove incomplete directorin typemaps as users incorrectly assumed they were implemented and working
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12653 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-05-03 05:46:00 +00:00
William S Fulton
837835280d
Remove directorout INPUT/INOUT/OUTPUT typemaps - they will never be used as they used for the return type, not parameters. Fix java directorin typemap.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12651 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-05-03 05:32:13 +00:00
Ian Lance Taylor
56d808092f
Fix li_typemaps_apply test for Go.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12493 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-02-20 04:08:54 +00:00
Ian Lance Taylor
21ca5a854c
Adjust for the elimination of the "float" and "complex" types.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12487 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-02-19 20:22:33 +00:00
Ian Lance Taylor
ef3644f052
Add string & length typemap for Go.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12394 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-01-14 21:31:36 +00:00
Ian Lance Taylor
18a4f389f9
Update to support current Go releases.
...
The Go foreign function interface changed. This changes SWIG
accordingly, and also fixes a couple of bugs.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12389 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-01-11 18:46:50 +00:00
Ian Lance Taylor
580f254958
Update for recent runtime name changes (a better mechanism is clearly
...
needed here).
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12290 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-11-12 16:43:03 +00:00
Ian Lance Taylor
da5e02f81c
Rename "go" typemap to "gotype".
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12129 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-06-15 19:40:34 +00:00
Ian Lance Taylor
9d466dd408
Rename size checking macros to avoid leading double underscore. Also
...
change goswig to swiggo.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12127 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-06-15 17:59:32 +00:00
William S Fulton
688db4ee29
Fix std::map warning keyword hack in Go
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12121 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-06-11 22:36:58 +00:00
William S Fulton
7e7bd74ff2
Remove Go director hack just to please the SWIG test-suite
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12120 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-06-11 19:05:30 +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