cl: _testcgo/typalias
This commit is contained in:
25
cl/_testcgo/typalias/in.go
Normal file
25
cl/_testcgo/typalias/in.go
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import "C"
|
||||||
|
import _ "unsafe"
|
||||||
|
|
||||||
|
//go:linkname printf C.printf
|
||||||
|
func printf(format *int8, __llgo_va_list ...any)
|
||||||
|
|
||||||
|
type Foo = struct {
|
||||||
|
A C.int
|
||||||
|
ok bool
|
||||||
|
}
|
||||||
|
|
||||||
|
var format = [...]int8{'H', 'e', 'l', 'l', 'o', ' ', '%', 'd', '\n', 0}
|
||||||
|
|
||||||
|
func Print(p *Foo) {
|
||||||
|
if p.ok {
|
||||||
|
printf(&format[0], p.A)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
foo := &Foo{100, true}
|
||||||
|
Print(foo)
|
||||||
|
}
|
||||||
0
cl/_testcgo/typalias/out.ll
Normal file
0
cl/_testcgo/typalias/out.ll
Normal file
@@ -28,7 +28,7 @@ func testCompile(t *testing.T, src, expected string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestFromTestcgo(t *testing.T) {
|
func TestFromTestcgo(t *testing.T) {
|
||||||
cltest.FromDir(t, "", "./_testcgo", true)
|
cltest.FromDir(t, "typalias", "./_testcgo", true)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestFromTestdata(t *testing.T) {
|
func TestFromTestdata(t *testing.T) {
|
||||||
|
|||||||
Reference in New Issue
Block a user