diff --git a/main.go b/main.go index 46e04a9b0..ac44b9317 100644 --- a/main.go +++ b/main.go @@ -149,17 +149,11 @@ func Start(args ProgramArgs) (err error) { } // 1. Compile it first (checking for errors) -//<<<<<<< multiplyFiles for _, in := range args.inputFiles { _, err := os.Stat(in) if err != nil { return fmt.Errorf("Input file %s is not found", in) } -//======= - _, err = os.Stat(args.inputFile) - if err != nil { - return fmt.Errorf("Input file is not found") -//>>>>>>> master } // 2. Preprocess @@ -252,18 +246,6 @@ func Start(args ProgramArgs) (err error) { p.AddMessage(p.GenerateWarningMessage(errors.New(message), fErr.Node)) } -//<<<<<<< multiplyFiles -//======= - // transpile ast tree - if args.verbose { - fmt.Println("Transpiling tree...") - } - err = transpiler.TranspileAST(args.inputFile, args.packageName, p, tree[0].(ast.Node)) - if err != nil { - return fmt.Errorf("cannot transpile AST : %v", err) - } - -//>>>>>>> master outputFilePath := args.outputFile if outputFilePath == "" { @@ -274,7 +256,6 @@ func Start(args ProgramArgs) (err error) { outputFilePath = cleanFileName[0:len(cleanFileName)-len(extension)] + ".go" } -//<<<<<<< multiplyFiles // transpile ast tree if args.verbose { fmt.Println("Transpiling tree...") @@ -285,8 +266,6 @@ func Start(args ProgramArgs) (err error) { return fmt.Errorf("cannot transpile AST : %v", err) } -//======= -//>>>>>>> master // write the output Go code if args.verbose { fmt.Println("Writing the output Go code...") diff --git a/main_test.go b/main_test.go index 3660af727..9f949d0ce 100644 --- a/main_test.go +++ b/main_test.go @@ -108,11 +108,7 @@ func TestIntegrationScripts(t *testing.T) { mainFileName = "main_test.go" programArgs := DefaultProgramArgs() -//<<<<<<< multiplyFiles programArgs.inputFiles = []string{file} -//======= - programArgs.inputFile = file -//>>>>>>> master programArgs.outputFile = subFolder + mainFileName // This appends a TestApp function to the output source so we // can run "go test" against the produced binary. @@ -268,21 +264,13 @@ func TestStartPreprocess(t *testing.T) { } defer os.RemoveAll(dir) // clean up -//<<<<<<< multiplyFiles name := "preprocess.c" filename := path.Join(dir, name) -//======= - filename := path.Join(dir, "preprocess.c") -//>>>>>>> master body := ([]byte)("#include \nint main(void){\nwrong();\n}") err = ioutil.WriteFile(filename, body, 0644) args := DefaultProgramArgs() -//<<<<<<< multiplyFiles args.inputFiles = []string{dir + name} -//======= - args.inputFile = filename -//>>>>>>> master err = Start(args) if err == nil { @@ -330,6 +318,7 @@ func TestMultifileTranspilation(t *testing.T) { if err != nil { t.Fatal(err) } + defer os.RemoveAll(dir) // clean up args.outputFile = path.Join(dir, "multi.go") args.packageName = "main" args.outputAsTest = true diff --git a/tests/multi/four.c b/tests/multi/four.c index 934844bc1..0403adda5 100644 --- a/tests/multi/four.c +++ b/tests/multi/four.c @@ -1,5 +1,6 @@ -#include - +#ifdef USE_STDIO +#include +#endif void say_four(){ printf("4"); } diff --git a/tests/multi/head.h b/tests/multi/head.h index d8d4c9fb4..21ba3a66d 100644 --- a/tests/multi/head.h +++ b/tests/multi/head.h @@ -1,2 +1,5 @@ +#ifdef USE_STDIO +#include +#endif void say_four(); void say_two(); diff --git a/tests/multi/main.c b/tests/multi/main.c index bcf973264..2977268a9 100644 --- a/tests/multi/main.c +++ b/tests/multi/main.c @@ -1,4 +1,5 @@ #include"head.h" + int main(){ say_four(); say_two(); diff --git a/tests/multi/two.c b/tests/multi/two.c index 23c2f6efd..9b82768ef 100644 --- a/tests/multi/two.c +++ b/tests/multi/two.c @@ -1,5 +1,6 @@ -#include - +#ifdef USE_STDIO +#include +#endif void say_two(){ printf("2"); } diff --git a/transpiler/transpiler.go b/transpiler/transpiler.go index dcad558a8..f361f0d89 100644 --- a/transpiler/transpiler.go +++ b/transpiler/transpiler.go @@ -33,6 +33,7 @@ func TranspileAST(fileName, packageName string, p *program.Program, root ast.Nod if p.OutputAsTest { p.AddImport("testing") p.AddImport("io/ioutil") + p.AddImport("os") // TODO: There should be a cleaner way to add a function to the program. // This code was taken from the end of transpileFunctionDecl.