https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124641
--- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Or use set fd [open $file rb] instead of set fd [open $file r], that also works
with both tcl 8 and 9.
Though dunno what it will do with Unix vs. DOS line vs. Mac line endings.
I think
if {[package vsatisfies [package provide Tcl] 9.0-]} {
fconfigure $fd -profile replace
}
would be safest (but admittedly ugly).
I see
framework.exp: set sum_file [open [file join $outdir $tool.sum] w]
framework.exp: set xml_file [open [file join $outdir $tool.xml] w]
kermit.exp: set f [open "/tmp/fff" "w"]
remote.exp: set fd [open $file r]
remote.exp: set id [open $cache "r"]
remote.exp: set fd [open $cache.res "r"]
remote.exp: set id [open $cache "w"]
remote.exp: set id [open $cache.res "w"]
target.exp: set fid [open "atfile" "w"]
utils.exp: set fd [open $file r]
utils.exp: set file_a [open $file_1 r]
utils.exp: set file_b [open $file_2 r]
baseboards/mcore-moto-sim.exp: set handle [open doit w]
in dejagnu and
gcc/testsuite/g++.dg/modules/modules.exp: set f [open $src "w"]
gcc/testsuite/algol68/compile/modules/compile.exp: set fd [open $filename w]
gcc/testsuite/gcc.target/x86_64/abi/ms-sysv/ms-sysv.exp: set f [open $src
"w"]
gcc/testsuite/gcc.target/mips/mips.exp: set f [open $src "w"]
gcc/testsuite/gcc.misc-tests/dectest.exp: set fd [open $testcase r]
gcc/testsuite/gcc.misc-tests/dectest.exp: set outfd [open $filename w]
gcc/testsuite/gcc.misc-tests/options.exp: set fd [open $filename.c w]
gcc/testsuite/gcc.misc-tests/options.exp: set a [open $file]
gcc/testsuite/gcc.misc-tests/output.exp: set fd [open $filename.c w]
gcc/testsuite/gcc.misc-tests/output.exp: set fd [open $filename.c r]
gcc/testsuite/g++.target/aarch64/sve/aarch64-ssve.exp: set fd [open
$filename.cc w]
gcc/testsuite/lib/fortran-modules.exp: set fd [open $file r]
gcc/testsuite/lib/gdc-utils.exp: set fdin [open $base/$test r]
gcc/testsuite/lib/gdc-utils.exp: set fdout [open $testdir/$test w]
gcc/testsuite/lib/c-torture.exp: set fd [open $file r]
gcc/testsuite/lib/gcov.exp: set fd [open $file r]
gcc/testsuite/lib/gcov.exp: set fd [open $file r]
gcc/testsuite/lib/gcov.exp: set fd [open $file r]
gcc/testsuite/lib/gcov.exp: set fd [open $file r]
gcc/testsuite/lib/gcov.exp: set fd [open $file r]
gcc/testsuite/lib/gcov.exp: set fd [open $file r]
gcc/testsuite/lib/multiline.exp: set fp [open $filename r]
gcc/testsuite/lib/objc-torture.exp: set fd [open $file r]
gcc/testsuite/lib/gcc-dg.exp: set outfile [open [lindex ${output-file}
1]]
gcc/testsuite/lib/gcc-dg.exp: set fd [open $file r]
gcc/testsuite/lib/gcc-dg.exp: set fd [open $file r]
gcc/testsuite/lib/gcc-dg.exp: set fd [open [list | gzip -dc $modfilename] r]
gcc/testsuite/lib/gcc-dg.exp: set fd [open [list | gzip -dc $modfilename] r]
gcc/testsuite/lib/gcc-dg.exp: set fd [open "| $nm $output_file" r]
gcc/testsuite/lib/valgrind.exp: if [catch {set f [open $logfile]}] {
gcc/testsuite/lib/scandump.exp: set fd [open $output_file r]
gcc/testsuite/lib/scandump.exp: set fd [open $output_file r]
gcc/testsuite/lib/scandump.exp: set fd [open $output_file r]
gcc/testsuite/lib/scandump.exp: set fd [open "| $cxxfilt < $output_file" r]
gcc/testsuite/lib/scandump.exp: set fd [open "| $cxxfilt < $output_file" r]
gcc/testsuite/lib/scanasm.exp: set fd [open $output_file r]
gcc/testsuite/lib/scanasm.exp: set fd [open $filename r]
gcc/testsuite/lib/scanasm.exp: set fd [open $output_file r]
gcc/testsuite/lib/scanasm.exp: set fd [open $output_file r]
gcc/testsuite/lib/scanasm.exp: set fd [open $filename r]
gcc/testsuite/lib/scanasm.exp: set fd [open $input_filename r]
gcc/testsuite/lib/mike-gcc.exp: set fd [open [file rootname [file tail
$src_code]].s r]
gcc/testsuite/lib/file-format.exp: set open_file [open objfmtst.c w]
gcc/testsuite/lib/fortran-torture.exp: set fd [open $file r]
gcc/testsuite/lib/gcc-gdb-test.exp: set fd [open $cmd_file "w"]
gcc/testsuite/lib/go-torture.exp: set fd [open $file r]
gcc/testsuite/lib/gm2-torture.exp: set fd [open $file r]
gcc/testsuite/lib/profopt.exp: set fd [open $base.$perf_ext r]
gcc/testsuite/lib/options.exp: set fd [open $srcfname w]
gcc/testsuite/lib/mike-g++.exp: set fd [open [file rootname [file tail
$src_code]].s r]
gcc/testsuite/lib/target-supports.exp: set f [open $src "w"]
gcc/testsuite/lib/target-supports.exp: set chan [open "$output"]
gcc/testsuite/lib/target-supports.exp: set f [open $src "w"]
gcc/testsuite/lib/target-supports.exp: set f [open $src "w"]
gcc/testsuite/lib/target-supports.exp: set f [open $src "w"]
gcc/testsuite/lib/target-supports.exp: set f [open $src "w"]
gcc/testsuite/lib/target-supports.exp: set file [open
"$srcdir/gcc.dg/builtins-config.h"]
gcc/testsuite/lib/target-supports.exp: set f [open $src "w"]
gcc/testsuite/lib/target-supports.exp: set f [open $src "w"]
gcc/testsuite/lib/target-supports.exp: set f [open $src "w"]
gcc/testsuite/lib/target-supports.exp: set f [open $src "w"]
gcc/testsuite/lib/target-supports.exp: set f [open $src "w"]
gcc/testsuite/lib/target-supports.exp: set f [open $src "w"]
gcc/testsuite/lib/target-supports.exp: set f [open $src "w"]
gcc/testsuite/lib/target-supports.exp: set f [open $src "w"]
gcc/testsuite/lib/algol68-torture.exp: set fd [open $file r]
gcc/testsuite/lib/print-stack.exp: set f [open $filename]
gcc/testsuite/jit.dg/jit.exp: # spawn -noecho -open [open "|./${executable}"
"r"]
gcc/testsuite/jit.dg/jit.exp: set f [open $asm_filename r]
gcc/testsuite/jit.dg/jit.exp: set f [open $asm_filename r]
gcc/testsuite/gcc.dg/pch/pch.exp:set f [open $test w]
gcc/testsuite/gcc.dg/pch/pch.exp:set f [open $testh w]
gcc/testsuite/gcc.dg/params/params.exp:set fd [open $srcfname w]
gcc/testsuite/go.test/go-test.exp: set f1 [open $file1 r]
gcc/testsuite/go.test/go-test.exp: set f2 [open $file2 r]
gcc/testsuite/go.test/go-test.exp: set fdin [open $test r]
gcc/testsuite/go.test/go-test.exp: set fdout [open $filename w]
gcc/testsuite/go.test/go-test.exp: set fdin [open $test r]
gcc/testsuite/go.test/go-test.exp: set fdout [open $filename w]
gcc/testsuite/go.test/go-test.exp: set fd [open $f r]
gcc/testsuite/go.test/go-test.exp: set fd [open $test r]
gcc/testsuite/libgdiagnostics.dg/libgdiagnostics.exp: # spawn -noecho -open
[open "|./${executable}" "r"]
libffi/testsuite/lib/libffi.exp: set f [open $src "w"]
libffi/testsuite/lib/libffi.exp: set fd [open $file r]
libgomp/testsuite/lib/libgomp.exp: set lock_fd [open $lock_file a+]
libphobos/testsuite/lib/libphobos.exp: set fid [open $filename r]
libstdc++-v3/testsuite/libstdc++-dg/conformance.exp: set f [open
$tests_file]
libstdc++-v3/testsuite/lib/libstdc++.exp: set fd [open $file r]
libstdc++-v3/testsuite/lib/libstdc++.exp: set f [open $src "w"]
libstdc++-v3/testsuite/lib/libstdc++.exp: set f [open $config_src "w"]
libstdc++-v3/testsuite/lib/libstdc++.exp: set file [open $config_out r]
libstdc++-v3/testsuite/lib/libstdc++.exp: set f [open $src "w"]
libstdc++-v3/testsuite/lib/libstdc++.exp: set f [open $src "w"]
libstdc++-v3/testsuite/lib/libstdc++.exp: set f [open $src "w"]
libstdc++-v3/testsuite/lib/libstdc++.exp: set f [open $src "w"]
libstdc++-v3/testsuite/lib/libstdc++.exp: set f [open $src "w"]
libstdc++-v3/testsuite/lib/libstdc++.exp: set f [open $src "w"]
libstdc++-v3/testsuite/lib/libstdc++.exp: set f [open $src "w"]
libstdc++-v3/testsuite/lib/libstdc++.exp: set f [open $src "w"]
libstdc++-v3/testsuite/lib/libstdc++.exp: set f [open $src "w"]
libstdc++-v3/testsuite/lib/libstdc++.exp: set f [open $src "w"]
libstdc++-v3/testsuite/lib/gdb-test.exp: set fd [open $filename]
libstdc++-v3/testsuite/lib/gdb-test.exp: set fd [open $cmd_file "w"]
on the gcc side. Perhaps the write cases are fine because tcl decides what to
write and hopefully doesn't write non-UTF-8 stuff (except say for file
copying), but the reads need to be inspected.
This Tcl 9 is nightmare!