ir,build: pragma support (#97)
Adds support for arbitrary compiler directives. Fixes #15
This commit is contained in:
committed by
GitHub
parent
0bcbe82731
commit
c8004ba627
28
printer/stubs_test.go
Normal file
28
printer/stubs_test.go
Normal file
@@ -0,0 +1,28 @@
|
||||
package printer_test
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/mmcloughlin/avo/build"
|
||||
"github.com/mmcloughlin/avo/printer"
|
||||
)
|
||||
|
||||
func TestStubsPragmas(t *testing.T) {
|
||||
ctx := build.NewContext()
|
||||
ctx.Function("f")
|
||||
ctx.Pragma("noescape")
|
||||
ctx.Pragma("linkname f remote.f")
|
||||
ctx.SignatureExpr("func(x *uint64)")
|
||||
ctx.RET()
|
||||
|
||||
AssertPrintsLines(t, ctx, printer.NewStubs, []string{
|
||||
"// Code generated by avo. DO NOT EDIT.",
|
||||
"",
|
||||
"package printer",
|
||||
"",
|
||||
"//go:noescape",
|
||||
"//go:linkname f remote.f",
|
||||
"func f(x *uint64)",
|
||||
"",
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user