mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-13 15:33:40 +00:00
cgo: add support for #cgo noescape lines
Here is the proposal: https://github.com/golang/go/issues/56378 They are documented here: https://pkg.go.dev/cmd/cgo@master#hdr-Optimizing_calls_of_C_code This would have been very useful to fix https://github.com/tinygo-org/bluetooth/issues/176 in a nice way. That bug is now fixed in a different way using a wrapper function, but once this new noescape pragma gets included in TinyGo we could remove the workaround and use `#cgo noescape` instead.
This commit is contained in:
committed by
Ron Evans
parent
fd625f7265
commit
b7a3fd8d2f
Vendored
+5
@@ -10,6 +10,11 @@ typedef struct {
|
||||
|
||||
typedef someType noType; // undefined type
|
||||
|
||||
// Some invalid noescape lines
|
||||
#cgo noescape
|
||||
#cgo noescape foo bar
|
||||
#cgo noescape unusedFunction
|
||||
|
||||
#define SOME_CONST_1 5) // invalid const syntax
|
||||
#define SOME_CONST_2 6) // const not used (so no error)
|
||||
#define SOME_CONST_3 1234 // const too large for byte
|
||||
|
||||
Reference in New Issue
Block a user