Commit graph

130 commits

Author SHA1 Message Date
Shengqiu Li
d3383e254d [Go] Fix overloaded functions with noncapitalized class as parameter type
Fixes #676 #677
2022-01-29 22:19:15 +13:00
Ian Lance Taylor
45ebd33698 swig -go: improve _cgo_panic implementation 2021-09-16 10:29:48 -07:00
Ian Lance Taylor
6ca5d5d722 swig -go: don't use crosscall2 for panicking
Instead rely only on documented and exported interfaces.
2021-09-15 17:56:01 -07:00
Ian Lance Taylor
4461c443cf remove Go -no-cgo option
It only worked for Go versions before 1.5, which is more than five
years ago and long-unsupported.
2021-09-14 13:59:21 -07:00
Olly Betts
9ddc9dceb7 Remove support for $source and $target
These were officially deprecated in 2001, and attempts to use them have
resulted in a warning (including a pointer to what to update them to)
for most if not all of that time.

Fixes #1984
2021-04-30 10:20:14 +12:00
Michel Zou
ee8d47cec4 Fix few unused variable warnings 2021-03-07 11:20:31 +00:00
Ian Lance Taylor
8a1c09e280 Fix Go tests to run in module mode
Stop using relative imports and add a go.mod file.

Tested against Go 1.6 through Go pre-1.13, and gccgo.
2019-04-24 21:43:38 -07:00
Ian Lance Taylor
77f075b6e8 When generating Go code, make -cgo the default.
Add new -no-cgo option to disable the default.
Keep -cgo as a no-op for existing users.
2019-04-19 12:49:56 -07:00
luz.paz
60dfa31a67 Misc. typos
found via `codespell` and `grep`
2018-05-17 10:04:23 -04:00
William S Fulton
923091da13 Changes to use common DirectorException class
Add director.swg for Go as was completely absent.
This is just the start of a common exception handling approach to directors.
An exception thrown in a Java director method will be propogated back to
Java via a C++ DirectorException.
DirectorException throws typemap for Java is fully working, all other languages need work.
DirectorException throws typemap for Perl added just to fix compilation errors.
Add director_exception_catches test.
2017-11-29 20:31:55 +00:00
William S Fulton
ae044c1c2f Generation of director method declarations fixes
- Fixes generation of director method declarations containing C++11 ref-qualifiers.
- Fixes generation of director method declarations returning more complex types such
  as const ref pointers.
- Rewrite Swig_method_call to use more up to date code in the core.
2017-10-23 18:55:14 +01:00
Olly Betts
90f9117e10 Fix various comment and documentation typos 2017-08-13 18:04:33 +12:00
William S Fulton
ebd37155a8 Fix potential use of uninitialized variables in directors 2017-05-13 22:40:59 +01:00
William S Fulton
731f175d21 propagate c++11 noexcept to director classes for Go 2017-05-13 18:13:53 +01:00
William S Fulton
dcc5911839 Fix handling of typedef'd function pointers for Go
Add equivalent runtime tests for Python and Java
2017-03-17 07:49:21 +00:00
William S Fulton
72ba741d1c Fix wrapping of references/pointers and qualifiers to member pointers
Also fix Go wrapping of member const function pointers.
2017-03-16 21:04:38 +00:00
William S Fulton
f89b8836dd Merge branch 'jiulongw-master'
* jiulongw-master:
  Fix go wrapper compilation error
  Fix missing semicolon in golang wrapper
  Fix extra quote escape in golang
  Fix #define error when value contains char in compound expression
  Add more test case for char const expression in enum
  Revert "Add enum test cases with const char in compound expression"
  Add runtime tests for char in compound expression patch
  Add enum test cases with const char in compound expression
  Fix enum error when value contains char in compound expression
2016-10-23 10:32:48 +01:00
Jiulong Wang
9b85318d77 Fix go wrapper compilation error 2016-10-11 10:49:43 -07:00
Jiulong Wang
b9de6f1bf2 Fix missing semicolon in golang wrapper 2016-10-10 22:42:36 -07:00
Jiulong Wang
b4b4c0a25e Fix extra quote escape in golang 2016-10-10 21:34:19 -07:00
William S Fulton
08688d7d9d Add support for "ret" typemap where missing and improve documentation on it. 2016-09-29 08:07:26 +01:00
Li Shengqiu
bac85d5b1a [Go] Fix argument names in inherited functions #795 (#797)
* [Go] Fix argument names in inherited functions #795

This commit fixes a wrong argument name replacement in the inherited functions as well as a memory leak.

* Add testcase for #795

* Move variable_replacement testcase into common

* Move variable_replacement testcase into common
2016-09-27 15:08:47 +13:00
Amarnath Valluri
11b971f405 go.cxx: Fix use of a freed variable
Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
2016-06-16 15:47:12 +03:00
Ian Lance Taylor
ef4d7628a9 [Go] Fix use of goout typemap in non-cgo mode. 2016-04-18 20:35:29 -07:00
Ian Lance Taylor
0f54384ee3 [Go] Fix use of goout typemap when calling base method by
forcing the "type" attribute to the value we need.
2016-04-18 15:30:06 -07:00
William S Fulton
1d62790928 Fix assertion for some languages when wrapping a C++11 enum class that is private in a class.
Also don't wrap private enums for a few languages that attempted to do so.

Closes #594.
2016-03-31 20:27:36 +01:00
William S Fulton
3ac3d061a6 Warning fix in Go wrappers when wrapping string constants
string_constants test case.
2016-03-13 15:36:59 +00:00
William S Fulton
2817e02e35 Merge branch 'ahnolds-clean_osx_go'
* ahnolds-clean_osx_go:
  Go test-suite should now work on OSX
  Don't write empty swigargs structs
  Fail if nocgo version fails
  Handle weak linking on OSX

Conflicts:
	CHANGES.current
2016-01-28 20:03:54 +00:00
Ian Lance Taylor
15b75a74c5 [Go] Ensure structs are properly packed between gc and GCC/clang.
From https://github.com/swig/swig/pull/262.
2016-01-27 15:51:13 -08:00
Alec Cooper
1e7d3d1eb8 Don't write empty swigargs structs 2016-01-23 16:17:33 -05:00
Ian Lance Taylor
7e40e523c3 [Go] Don't emit a constructor function for a director class with an
abstract method, since the function will always panic.

Fixes #435.
2015-10-06 13:55:39 -07:00
William S Fulton
edcdaaec16 Warning fixes for 64bit visual c++ on Windows 2015-07-03 20:59:24 +01:00
Ian Lance Taylor
11d8403c3c [Go] Fix member variables in base classes to handle CWRAP_NATURAL_VAR
correctly.  Add a test case for the problem.

Fixes #339.
2015-06-20 17:42:44 -07:00
Ian Lance Taylor
38c7d59f81 [Go] Adjust last change to always emit a destructor. 2015-05-18 11:28:24 -07:00
Ian Lance Taylor
5bca063536 [Go] Fix bug with ignored destructor--generated code did not compile. 2015-05-18 09:53:13 -07: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
baf1fe036a [Go] Correct goargout typemap when matching multiple parameters. 2015-03-16 11:45:15 -07:00
William S Fulton
7fa1058a8a Configure fix and warning fix for Go 2015-03-14 23:40:30 +00:00
Ian Lance Taylor
eccfa288b8 [Go] Consistently use the same type when dispatching to an overloaded
function.
2015-03-12 08:13:16 -07:00
Ian Lance Taylor
a6a9a89524 [Go] Fix overloading on an undefined type. 2015-03-06 17:51:30 -08:00
Ian Lance Taylor
b15a66f2ab [Go] Use imtype when checking for pointer in cgo type. Permit func,
map, chan values to be converted to pointers when using cgo.
2015-03-04 14:25:10 -08: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
Ian Lance Taylor
40f5b1ecc6 [Go] Fixes so that the go_subdir_import test will work with gccgo. 2015-02-22 11:01:24 -08:00
Misha Seltzer
fcf2b68e84 Fixed errors due to last sync. 2015-02-17 10:27:45 +02:00
Misha Seltzer
8da4d20308 Fixed SWIG go for cases when SWIG %import-s another package which is located in a subdirectory. 2015-02-17 10:27:45 +02:00
William S Fulton
1ef899a57b Merge branch 'stricter-warnings'
* stricter-warnings:
  Go changes for wrappers to compile as ISO C90
  Scilab typecheck typemaps fix for C90
  No error for one Javascript node warning
  Warning fix in testcase for Javascript node
  nested_extend_c testcase fix when compiled by C++ target languages
  Temporarily remove -Werror for Scilab testing
  C90 fixes for Javascript JSC
  There are a couple of testcases that aren't compliant and supression via pragmas doesn't work for gcc < 4.8
  Warning suppression change
  Scilab typemap fixes for C89
  compiler warning suppression correction in testcase
  Suppress pedantic warnings in C# testcases
  Suppress pedantic warnings in testcases
  Pedantic warning fix in testcase
  pedantic warning fix for D wrappers
  Travis testing to use testflags.py for setting CFLAGS and CXXFLAGS
  Add travis build for error-declaration-after-statement branch
2015-02-11 23:33:26 +00:00
William S Fulton
e3a8ee1927 Go changes for wrappers to compile as ISO C90
Fixes:
ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
2015-02-11 23:32:46 +00:00
Ian Lance Taylor
1863b191bf [Go] Refactor some functions to make it easier to move to a new
approach for generating Go interfaces.  No functional changes.
2015-02-09 11:21:58 -08: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