From 6da21981232914e208146897f6ddc795a909d2e8 Mon Sep 17 00:00:00 2001 From: Alex Waygood Date: Wed, 15 Mar 2023 17:16:44 +0000 Subject: [PATCH] Exclude `ceval.c` from the C-analyzer tool The "check if generated files are up to date" CI check appears to be currently failing on all PRs (but not on pushes to main) See, for example: - https://github.com/python/cpython/pull/94468 - https://github.com/python/cpython/pull/94468 - https://github.com/python/cpython/pull/102731 This appears to be because the C-analyzer tool doesn't like the `#line` directives introduced in https://github.com/python/cpython/commit/70185de1abfe428049a5c43d58fcb656b46db96c. I'm advised by the message printed to the terminal in https://github.com/python/cpython/actions/runs/4428706945/jobs/7768216988#step:14:84 that this is the appropriate short-term fix! Cc. @ericsnowcurrently --- Tools/c-analyzer/cpython/_parser.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Tools/c-analyzer/cpython/_parser.py b/Tools/c-analyzer/cpython/_parser.py index 6da4fbbf4224f1..a2911e030ffee1 100644 --- a/Tools/c-analyzer/cpython/_parser.py +++ b/Tools/c-analyzer/cpython/_parser.py @@ -91,10 +91,15 @@ def clean_lines(text): # XXX Fix the parser. EXCLUDED += clean_lines(''' # The tool should be able to parse these... + # The problem with xmlparse.c is that something # has gone wrong where # we handle "maybe inline actual" # in Tools/c-analyzer/c_parser/parser/_global.py. Modules/expat/xmlparse.c + +# The parser doesn't like the #line directives +# that originate from generated_cases.c.h +Python/ceval.c ''') INCL_DIRS = clean_lines('''