diff options
author | Zachary T Welch <zwelch@codesourcery.com> | 2016-03-29 19:56:35 +0000 |
---|---|---|
committer | Mike Stump <mrs@gcc.gnu.org> | 2016-03-29 19:56:35 +0000 |
commit | 13f0e8c7e717552cdb56ed3d34bc3595cea3ba43 (patch) | |
tree | 6814a875374f262baf0bdafdebb79c9b15b8e25d | |
parent | f8a1abf8e3dc2ef5cb47a13f14e6a7ec8113a46f (diff) | |
download | gcc-13f0e8c7e717552cdb56ed3d34bc3595cea3ba43.zip gcc-13f0e8c7e717552cdb56ed3d34bc3595cea3ba43.tar.gz gcc-13f0e8c7e717552cdb56ed3d34bc3595cea3ba43.tar.bz2 |
prune.exp (escape_regex_chars): New.
2016-03-29 Zachary T Welch <zwelch@codesourcery.com>
* lib/prune.exp (escape_regex_chars): New.
(prune_file_path): Update to quote metcharacters for regexp.
From-SVN: r234533
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/lib/prune.exp | 25 |
2 files changed, 28 insertions, 2 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2459a2a..fd0dc5d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2016-03-29 Zachary T Welch <zwelch@codesourcery.com> + + * lib/prune.exp (escape_regex_chars): New. + (prune_file_path): Update to quote metcharacters for regexp. + 2016-03-29 Jakub Jelinek <jakub@redhat.com> PR rtl-optimization/70429 diff --git a/gcc/testsuite/lib/prune.exp b/gcc/testsuite/lib/prune.exp index 20fa1a2..ab6f369 100644 --- a/gcc/testsuite/lib/prune.exp +++ b/gcc/testsuite/lib/prune.exp @@ -78,12 +78,33 @@ proc prune_gcc_output { text } { return $text } +# escape metacharacters in literal string, so it can be used in regex + +proc escape_regex_chars { line } { + return [string map {"^" "\\^" + "$" "\\$" + "(" "\\(" + ")" "\\)" + "[" "\\[" + "]" "\\]" + "{" "\\{" + "}" "\\}" + "." "\\." + "\\" "\\\\" + "?" "\\?" + "+" "\\+" + "*" "\\*" + "|" "\\|"} $line] +} + proc prune_file_path { text } { global srcdir + set safedir [escape_regex_chars $srcdir] + regsub -all "$safedir\/" $text "" text + # Truncate absolute file path into relative path. - set topdir "[file dirname [file dirname [file dirname $srcdir]]]" - regsub -all "$srcdir\/" $text "" text + set topdir "[file dirname [file dirname [file dirname $safedir]]]" regsub -all "$topdir\/" $text "" text return $text |