diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2003-06-07 14:55:56 +0000 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2003-06-07 07:55:56 -0700 |
commit | ccfc7360c6a9d89e530cc1e920595602293f48d8 (patch) | |
tree | cc44757f7278bbd028038f9d6bf0ae9f4d9148ba /gcc | |
parent | 248e983efb6324556826bbe825e679f98cda72b0 (diff) | |
download | gcc-ccfc7360c6a9d89e530cc1e920595602293f48d8.zip gcc-ccfc7360c6a9d89e530cc1e920595602293f48d8.tar.gz gcc-ccfc7360c6a9d89e530cc1e920595602293f48d8.tar.bz2 |
copy-file.exp: New.
2003-06-07 H.J. Lu <hongjiu.lu@intel.com>
* 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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/lib/copy-file.exp | 33 | ||||
-rw-r--r-- | gcc/testsuite/lib/dg-pch.exp | 6 |
3 files changed, 44 insertions, 2 deletions
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 <hongjiu.lu@intel.com> + + * 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 <mark@codesourcery.com> * 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 } { |