Skip to content

Commit

Permalink
bind sdk fix decode bit start index
Browse files Browse the repository at this point in the history
  • Loading branch information
ddkwork committed Jun 20, 2024
1 parent b55d9d2 commit 4a8a30b
Showing 1 changed file with 5 additions and 13 deletions.
18 changes: 5 additions & 13 deletions gengo/clang/invoke.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,51 +34,42 @@ func (o *Options) ClangCommand(opt ...string) ([]byte, error) {
cmd := exec.Command(o.ClangPath(), opt...)
cmd.Args = append(cmd.Args, o.AdditionalParams...)
cmd.Args = append(cmd.Args, o.Sources...)
println(strings.Join(cmd.Args, " "))
mylog.Trace("commands", strings.Join(cmd.Args, " "))
Stdout := &bytes.Buffer{}
Stderr := &bytes.Buffer{}
cmd.Stdout = Stdout
cmd.Stderr = Stderr
mylog.CheckIgnore(cmd.Run())
println(Stderr.String())
stream.WriteTruncate("astError.log", Stderr)
stream.WriteTruncate("ast.log", Stdout)
mylog.Check(cmd.Run())
mylog.Check(Stderr.Bytes())
return Stdout.Bytes(), nil
}

func CreateAST(opt *Options) ([]byte, error) {
return opt.ClangCommand(
//"-E",
//"-dM",
"-fsyntax-only",
"-nobuiltininc",
"-Xclang",
"-ast-dump=json",
//"-Xclang",
//"-fmacro-backtrace-limit=0",
)
}

func CreateLayoutMap(opt *Options) ([]byte, error) {
return opt.ClangCommand(
//"-E",
//"-dM",
"-fsyntax-only",
"-nobuiltininc",
"-emit-llvm",
"-Xclang",
"-fdump-record-layouts",
"-Xclang",
"-fdump-record-layouts-complete",
//"-Xclang",
//"-fmacro-backtrace-limit=0",
)
}

func Parse(opt *Options) (ast Node, layout *LayoutMap, err error) {
errg := &errgroup.Group{}
errg.Go(func() error {
res, e := CreateAST(opt)
stream.WriteTruncate("ast.json", res)
if e != nil {
return e
}
Expand All @@ -95,5 +86,6 @@ func Parse(opt *Options) (ast Node, layout *LayoutMap, err error) {
return e
})
mylog.Check(errg.Wait())
mylog.Check2(opt.ClangCommand("-E -dM test.hpp > macros.txt"))
return ast, layout, nil
}

0 comments on commit 4a8a30b

Please sign in to comment.