loader/cgo: add support for pointer types

This commit is contained in:
Ayke van Laethem
2019-02-07 13:20:19 +01:00
parent 01f6aff422
commit 35fb594f8f
7 changed files with 165 additions and 120 deletions
+4
View File
@@ -9,3 +9,7 @@ int fortytwo() {
int add(int a, int b) {
return a + b;
}
void store(int value, int *ptr) {
*ptr = value;
}
+6
View File
@@ -17,4 +17,10 @@ func main() {
var y C.longlong = -(1 << 40)
println("longlong:", y)
println("global:", C.global)
var ptr C.intPointer
var n C.int = 15
ptr = C.intPointer(&n)
println("15:", *ptr)
C.store(25, &n)
println("25:", *ptr)
}
+6
View File
@@ -1,3 +1,9 @@
typedef short myint;
int add(int a, int b);
typedef int * intPointer;
extern int global;
void store(int value, int *ptr);
// test duplicate definitions
int add(int a, int b);
extern int global;
+2
View File
@@ -4,3 +4,5 @@ myint: 3 5
myint size: 2
longlong: -1099511627776
global: 3
15: 15
25: 25