aboutsummaryrefslogtreecommitdiff
path: root/compiler_wrapper/clang_syntax_flag.go
diff options
context:
space:
mode:
Diffstat (limited to 'compiler_wrapper/clang_syntax_flag.go')
-rw-r--r--compiler_wrapper/clang_syntax_flag.go14
1 files changed, 7 insertions, 7 deletions
diff --git a/compiler_wrapper/clang_syntax_flag.go b/compiler_wrapper/clang_syntax_flag.go
index 90d2327a..53240c7f 100644
--- a/compiler_wrapper/clang_syntax_flag.go
+++ b/compiler_wrapper/clang_syntax_flag.go
@@ -4,10 +4,6 @@
package main
-import (
- "bytes"
-)
-
func processClangSyntaxFlag(builder *commandBuilder) (clangSyntax bool) {
builder.transformArgs(func(arg builderArg) string {
if arg.value == "-clang-syntax" {
@@ -26,12 +22,16 @@ func checkClangSyntax(env env, clangCmd *command, gccCmd *command) (exitCode int
EnvUpdates: clangCmd.EnvUpdates,
}
- stdinBuffer := &bytes.Buffer{}
+ getStdin, err := prebufferStdinIfNeeded(env, clangCmd)
+ if err != nil {
+ return 0, wrapErrorwithSourceLocf(err, "prebuffering stdin: %v", err)
+ }
+
exitCode, err = wrapSubprocessErrorWithSourceLoc(clangSyntaxCmd,
- env.run(clangSyntaxCmd, teeStdinIfNeeded(env, clangCmd, stdinBuffer), env.stdout(), env.stderr()))
+ env.run(clangSyntaxCmd, getStdin(), env.stdout(), env.stderr()))
if err != nil || exitCode != 0 {
return exitCode, err
}
return wrapSubprocessErrorWithSourceLoc(gccCmd,
- env.run(gccCmd, bytes.NewReader(stdinBuffer.Bytes()), env.stdout(), env.stderr()))
+ env.run(gccCmd, getStdin(), env.stdout(), env.stderr()))
}