Files
llgo/xtool/clang/check/check.go
2024-11-19 10:50:45 +08:00

26 lines
497 B
Go

package check
import (
"errors"
"os/exec"
"runtime"
"strings"
)
func CheckLinkArgs(cmdArgs []string) error {
cmd := exec.Command("clang")
nul := "/dev/null"
if runtime.GOOS == "windows" {
nul = "NUL"
}
cmd.Args = append(cmd.Args, cmdArgs...)
cmd.Args = append(cmd.Args, "-x", "c", "-o", nul, "-")
src := "int main() {return 0;}"
srcIn := strings.NewReader(src)
cmd.Stdin = srcIn
if out, err := cmd.CombinedOutput(); err != nil {
return errors.New(string(out))
}
return nil
}