From: hjl Date: Sat, 7 Jun 2003 14:55:56 +0000 (+0000) Subject: 2003-06-07 H.J. Lu X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=commitdiff_plain;h=e1c838a412df63ab8b792745cba91ff0764fa28e 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". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67588 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6afa7fb5e54..b0edd885678 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 00000000000..b1b937af5ab --- /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 e41c59d6b4a..ca7d8c3c9e3 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 } {