Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

C-analyzer tool cannot parse #line directives #102737

Closed
AlexWaygood opened this issue Mar 15, 2023 · 2 comments
Closed

C-analyzer tool cannot parse #line directives #102737

AlexWaygood opened this issue Mar 15, 2023 · 2 comments
Assignees
Labels
type-bug An unexpected behavior, bug, or error

Comments

@AlexWaygood
Copy link
Member

AlexWaygood commented Mar 15, 2023

Bug report

#line directives were added to generated_cases.c.h in 70185de, but the C-analyzer tool cannot handle these directives. This caused the CI check to start failing on all PRs, e.g.:

The short term fix is to exclude ceval.c from the C-analyzer tool:

But ideally we'd remove ceval.c from the excluded files and teach the C-analyzer tool to handle #line directives.

Linked PRs

@rhettinger
Copy link
Contributor

Ideally, this tool should have an overall try/except so that if a failure is caused by the tool being broken then it won't block all the pending PRs. The tool failing is a different and less interesting case than when it finds the issue it was designed to detect.

Also, if a tool has a risk of false positives, it should be attached to one of the buildbots that isn't one of the few required to make a commit. It should simply report failures rather than bringing all development to a halt.

ericsnowcurrently added a commit that referenced this issue Mar 16, 2023
The tool now allows user-added #LINE preprocessor directives.

#102737
carljm added a commit to carljm/cpython that referenced this issue Mar 17, 2023
* main: (34 commits)
  pythongh-102701: Fix overflow in dictobject.c (pythonGH-102750)
  pythonGH-78530: add support for generators in `asyncio.wait` (python#102761)
  Increase stack reserve size for Windows debug builds to avoid test crashes (pythonGH-102764)
  pythongh-102755: Add PyErr_DisplayException(exc) (python#102756)
  Fix outdated note about 'int' rounding or truncating (python#102736)
  pythongh-102192: Replace PyErr_Fetch/Restore etc by more efficient alternatives (python#102760)
  pythongh-99726: Improves correctness of stat results for Windows, and uses faster API when available (pythonGH-102149)
  pythongh-102192: remove redundant exception fields from ssl module socket (python#102466)
  pythongh-102192: Replace PyErr_Fetch/Restore etc by more efficient alternatives (python#102743)
  pythongh-102737: Un-ignore ceval.c in the CI globals check (pythongh-102745)
  pythonGH-102748: remove legacy support for generator based coroutines from `asyncio.iscoroutine` (python#102749)
  pythongh-102721: Improve coverage of `_collections_abc._CallableGenericAlias` (python#102722)
  pythonGH-102653: Make recipe docstring show the correct distribution (python#102742)
  Add comments to `{typing,_collections_abc}._type_repr` about each other (python#102752)
  pythongh-102594: PyErr_SetObject adds note to exception raised on normalization error (python#102675)
  pythongh-94440: Fix issue of ProcessPoolExecutor shutdown hanging (python#94468)
  pythonGH-100112:  avoid using iterable coroutines in asyncio internally (python#100128)
  pythongh-102690: Use Edge as fallback in webbrowser instead of IE (python#102691)
  pythongh-102660: Fix Refleaks in import.c (python#102744)
  pythongh-102738: remove from cases generator the code related to register instructions (python#102739)
  ...
Fidget-Spinner pushed a commit to Fidget-Spinner/cpython that referenced this issue Mar 27, 2023
…102745)

The tool now allows user-added #LINE preprocessor directives.

python#102737
@AlexWaygood
Copy link
Member Author

#102745 has fixed the issue with the C analyzer. Another issue already exists for the patchcheck.py problem I encountered in #102735. Closing as completed.

warsaw pushed a commit to warsaw/cpython that referenced this issue Apr 11, 2023
…102745)

The tool now allows user-added #LINE preprocessor directives.

python#102737
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type-bug An unexpected behavior, bug, or error
Projects
None yet
Development

No branches or pull requests

3 participants