From: mrs Date: Tue, 29 Mar 2016 19:56:35 +0000 (+0000) Subject: 2016-03-29 Zachary T Welch X-Git-Tag: upstream/6.1~364 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0275bf9b30490922d3aadb85522e314bafdda626;p=platform%2Fupstream%2Flinaro-gcc.git 2016-03-29 Zachary T Welch * lib/prune.exp (escape_regex_chars): New. (prune_file_path): Update to quote metcharacters for regexp. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234533 138bc75d-0d04-0410-961f-82ee72b054a4 --- 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 + + * lib/prune.exp (escape_regex_chars): New. + (prune_file_path): Update to quote metcharacters for regexp. + 2016-03-29 Jakub Jelinek 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