From ccfc7360c6a9d89e530cc1e920595602293f48d8 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Sat, 7 Jun 2003 14:55:56 +0000 Subject: [PATCH] copy-file.exp: New. 2003-06-07 H.J. Lu * lib/copy-file.exp: New. Implement gcc_copy_files. * lib/dg-pch.exp: Load copy-file.exp (dg-pch): Use gcc_copy_files instead of "file copy". From-SVN: r67588 --- gcc/testsuite/ChangeLog | 7 +++++++ gcc/testsuite/lib/copy-file.exp | 33 +++++++++++++++++++++++++++++++++ gcc/testsuite/lib/dg-pch.exp | 6 ++++-- 3 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/lib/copy-file.exp diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6afa7fb..b0edd88 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2003-06-07 H.J. Lu + + * lib/copy-file.exp: New. Implement gcc_copy_files. + + * lib/dg-pch.exp: Load copy-file.exp + (dg-pch): Use gcc_copy_files instead of "file copy". + 2003-06-06 Mark Mitchell * gcc.dg/weak/weak.exp: Simplify. diff --git a/gcc/testsuite/lib/copy-file.exp b/gcc/testsuite/lib/copy-file.exp new file mode 100644 index 0000000..b1b937a --- /dev/null +++ b/gcc/testsuite/lib/copy-file.exp @@ -0,0 +1,33 @@ +# Copyright (C) 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# This file defines a proc for copying regular files as well as +# symlinks. + +proc gcc_copy_files {srcfiles dstdir} { + foreach f $srcfiles { + if { [catch { set symlink [file readlink $f] } x] } then { + file copy -force $f $dstdir + } else { + if { [regexp "^/" "$symlink"] } then { + file copy -force $symlink $dstdir + } else { + set dirname [file dirname $f] + file copy -force $dirname/$symlink $dstdir + } + } + } +} diff --git a/gcc/testsuite/lib/dg-pch.exp b/gcc/testsuite/lib/dg-pch.exp index e41c59d..ca7d8c3 100644 --- a/gcc/testsuite/lib/dg-pch.exp +++ b/gcc/testsuite/lib/dg-pch.exp @@ -14,6 +14,8 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +load_lib copy-file.exp + proc dg-pch { subdir test options suffix } { global runtests dg-do-what-default @@ -36,7 +38,7 @@ proc dg-pch { subdir test options suffix } { # For the header files, the default is to precompile. set dg-do-what-default precompile catch { file delete "$bname$suffix" } - file copy "[file rootname $test]${suffix}s" "$bname$suffix" + gcc_copy_files "[file rootname $test]${suffix}s" "$bname$suffix" dg-test -keep-output "$bname$suffix" $flags "" # For the rest, the default is to compile to .s. @@ -50,7 +52,7 @@ proc dg-pch { subdir test options suffix } { file delete "$bname$suffix.gch" if { [ file exists "$bname.s" ] } { file rename "$bname.s" "$bname.s-gch" - file copy "[file rootname $test]${suffix}s" "$bname$suffix" + gcc_copy_files "[file rootname $test]${suffix}s" "$bname$suffix" dg-test -keep-output $test $flags "-I." set tmp [ diff "$bname.s" "$bname.s-gch" ] if { $tmp == 0 } { -- 2.7.4