From 760788f7cec0ec18e6fab3a03cbb26627ef122dc Mon Sep 17 00:00:00 2001 From: Stefan Behnel Date: Fri, 22 Feb 2019 18:25:05 +0100 Subject: Intern all identifier strings in the parser. --- Cython/Compiler/Parsing.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cython/Compiler/Parsing.py b/Cython/Compiler/Parsing.py index 3d0c2ae97..d5c8c2386 100644 --- a/Cython/Compiler/Parsing.py +++ b/Cython/Compiler/Parsing.py @@ -65,7 +65,7 @@ class Ctx(object): def p_ident(s, message="Expected an identifier"): if s.sy == 'IDENT': - name = s.systring + name = s.context.intern_ustring(s.systring) s.next() return name else: @@ -74,7 +74,7 @@ def p_ident(s, message="Expected an identifier"): def p_ident_list(s): names = [] while s.sy == 'IDENT': - names.append(s.systring) + names.append(s.context.intern_ustring(s.systring)) s.next() if s.sy != ',': break -- cgit v1.2.1 From 8a08c4f7f566b24686b7f5618ec3644ab8fba97f Mon Sep 17 00:00:00 2001 From: Stefan Behnel Date: Fri, 22 Feb 2019 21:30:52 +0100 Subject: When running a single test for multiple language levels, make sure they end up in different directories to prevent overwriting each other. --- runtests.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/runtests.py b/runtests.py index 813ebad83..7c213302a 100755 --- a/runtests.py +++ b/runtests.py @@ -784,7 +784,9 @@ class TestBuilder(object): os.makedirs(language_workdir) workdir = os.path.join(language_workdir, module) if preparse != 'id': - workdir += '_%s' % str(preparse) + workdir += '_%s' % (preparse,) + if language_level: + workdir += '_cy%d' % (language_level,) return test_class(path, workdir, module, tags, language=language, preparse=preparse, -- cgit v1.2.1