From 61353cc1f65f02477eedeebcb08e9193cbd53305 Mon Sep 17 00:00:00 2001 From: Eisuke Kawashima Date: Tue, 29 Oct 2024 09:32:36 +0900 Subject: [PATCH] [compiler-rt] Fix invalid escape sequences in python files (#94030) \d, \( and \) are not valid escape sequences; since python 3.12 they give SyntaxWarning, and will raise SyntaxError in future. https://docs.python.org/3.12/whatsnew/3.12.html#other-language-changes r"\(\d\)" and "\\(\\d\\)" are equivalent but the former is the shorter. Co-authored-by: Eisuke Kawashima --- compiler-rt/lib/asan/scripts/asan_symbolize.py | 4 ++-- compiler-rt/lib/hwasan/scripts/hwasan_symbolize | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/compiler-rt/lib/asan/scripts/asan_symbolize.py b/compiler-rt/lib/asan/scripts/asan_symbolize.py index b08769614aeb..058a1614b55e 100755 --- a/compiler-rt/lib/asan/scripts/asan_symbolize.py +++ b/compiler-rt/lib/asan/scripts/asan_symbolize.py @@ -316,7 +316,7 @@ class DarwinSymbolizer(Symbolizer): # * For C functions atos omits parentheses and argument types. # * For C++ functions the function name (i.e., `foo` above) may contain # templates which may contain parentheses. - match = re.match("^(.*) \(in (.*)\) \((.*:\d*)\)$", atos_line) + match = re.match(r"^(.*) \(in (.*)\) \((.*:\d*)\)$", atos_line) logging.debug("atos_line: %s", atos_line) if match: function_name = match.group(1) @@ -541,7 +541,7 @@ class SymbolizationLoop(object): # names in the regex because it could be an # Objective-C or C++ demangled name. stack_trace_line_format = ( - "^( *#([0-9]+) *)(0x[0-9a-f]+) *(?:in *.+)? *\((.*)\+(0x[0-9a-f]+)\)" + r"^( *#([0-9]+) *)(0x[0-9a-f]+) *(?:in *.+)? *\((.*)\+(0x[0-9a-f]+)\)" ) match = re.match(stack_trace_line_format, line) if not match: diff --git a/compiler-rt/lib/hwasan/scripts/hwasan_symbolize b/compiler-rt/lib/hwasan/scripts/hwasan_symbolize index d1b2857ccd81..efca6b82809b 100755 --- a/compiler-rt/lib/hwasan/scripts/hwasan_symbolize +++ b/compiler-rt/lib/hwasan/scripts/hwasan_symbolize @@ -316,7 +316,7 @@ class Symbolizer: self.__last_access_tag = int(match.group(2), 16) def process_tag_dump_line(self, line, ignore_tags=False): - m = re.match(r'.*?(0x[0-9a-f]+):' + '([ ]*[\[ ][0-9a-f][0-9a-f]\]?)' * 16, line) + m = re.match(r'.*?(0x[0-9a-f]+):' + r'([ ]*[\[ ][0-9a-f][0-9a-f]\]?)' * 16, line) if m is None: return False addr = m.group(1)