@@ -16,6 +16,7 @@ from __future__ import print_function
16
16
17
17
import argparse
18
18
import functools
19
+ import io
19
20
import json
20
21
import math
21
22
import os
@@ -55,7 +56,7 @@ def has_debuginfo(swiftc):
55
56
def write_input_file (args , ast , d , n ):
56
57
fname = "in%d.swift" % n
57
58
pathname = os .path .join (d , fname )
58
- with open (pathname , 'w+' ) as f :
59
+ with io . open (pathname , 'w+' , encoding = 'utf-8' , newline = ' \n ' ) as f :
59
60
f .write (gyb .execute_template (ast , '' , N = n ))
60
61
return fname
61
62
@@ -217,7 +218,11 @@ def run_many(args):
217
218
print ("**************************************************" )
218
219
args .llvm_stat_reporter = True
219
220
220
- ast = gyb .parse_template (args .file .name , args .file .read ())
221
+ if args .file == '-' :
222
+ ast = gyb .parse_template ('stdin' , sys .stdin .read ())
223
+ else :
224
+ with io .open (args .file , 'r' , encoding = 'utf-8' ) as f :
225
+ ast = gyb .parse_template (args .file , f .read ())
221
226
rng = range (args .begin , args .end , args .step )
222
227
if args .step > (args .end - args .begin ):
223
228
print ("Step value" , args .step ,
@@ -695,7 +700,7 @@ def report(args, rng, runs):
695
700
def main ():
696
701
parser = argparse .ArgumentParser ()
697
702
parser .add_argument (
698
- 'file' , type = argparse . FileType () ,
703
+ 'file' , type = str ,
699
704
help = 'Path to GYB template file (defaults to stdin)' , nargs = '?' ,
700
705
default = sys .stdin )
701
706
parser .add_argument (
0 commit comments