Skip to content

Conversation

pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Sep 9, 2025

This PR updates pycparser from 2.10 to 2.23.

Changelog

2.21

- Much improved support for C11 (multiple PRs)
- Support for parehthesized compount statements (423)
- Support for modern Python versions (3.9 and 3.10)
- Fix support for structs with nested enums (387)
- Multiple small bug fixes

2.20

- 61: Fix slow backtracking when parsing strings.
- 99: Parser for FuncDecl incorrectly sets declname attribute on return type.
- 310: Fix crash when file starts with a semicolon.
- 313: Fix array type generation.
- 314: Fix failed parsing of unnamed function parameters with array dim
 qualifiers.
- 315: Fix pointer type generation.
- 324: Fixes for u/l constant integer suffix.
- 346: Fix error transforming an empty switch.
- 350: Recognize integer multicharacter constants like 'ABCD'.
- 363: Fix incorrect AST when parsing offsetof.

2.19

- PR 277: Fix parsing of floating point literals
- PR 254: Add support for parsing empty structs
- PR 240: Fix enum formatting in generated C code (also 216)
- PR 222: Add support for pragma in struct declarations
- There are reports that this release doesn't work with Python 2.6 (281).
 Please note that the minimal supported version is 2.7; the required versions
 are listed in the README file.

2.18

- PR 161 & 184: Update bundled PLY version to 3.10
- PR 158: Add support for the __int128 type.
- PR 169: Handle more tricky TYPEID in declarators.
- PR 178: Add columns to the coord of each node

2.17

- Again functionality identical to 2.15 and 2.16; the difference is that the
 tarball now contains Python files with properly set permissions.

2.16

- Functionally identical to 2.15, but fixes a packaging problem that caused
 failed installation (_build_tables wasn't rerun in the pycparser/ dir).

2.15

- PR 121: Update bundled PLY version to 3.8
- Issue 117: Fix parsing of extra semi-colons inside structure declarations.
- PR 109: Update c_generator to add {} around nested named initializers.
- PR 101: Added support for parsing pragmas into the AST.
- Additional fake headers and typedefs, manifest fixes (97, 106, 111).
- Testing with Python 3.5 instead of 3.3 now (3.4 and 3.5 are the 3.x versions
 tested).
- PR 145: More complete support for offsetof()
- Issue 116: Fix line numbers recorded for empty and compound statements.
- Minor performance improvement to the invalid string literal regex.

2.14

- Added CParser parameter to specify output directory for generated parsing
 tables (84).
- Removed lcc's cpp and its license from the distribution. Using lcc's cpp
 is no longer recommended, now that Clang has binary builds available for
 Windows.

2.13

- Added support for offsetof() the way gcc implements it (special builtin
 that takes a type as an argument).
- Added faked va_* macros (these are expected to come from stdarg.h)
- Added a bunch more fake headers and typedefs to support parsing C projects
 like Git and SQLite without modifications to pycparser.
- Added support for empty initializer lists (79).

2.12

- This is a fix release for 2.11; the memory optimization with __slots__ on
 Coord and AST nodes didn't take weakrefs into account, which broke cffi and
 its many dependents (issue 76). Fixed by adding __weakref__ to __slots__.

2.11

- Add support for C99 6.5.3.7 p7 - qualifiers within array dimensions in
 function declarations. Started with issue 21 (reported with initial patch
 by Robin Martinjak).
- Issue 27: bug in handling of unified wstring literals.
- Issue 28: fix coord reporting for 'for' loops.
- Added ``examples/using_gcc_E_libc.py`` to demonstrate how ``gcc -E`` can
 be used instead of ``cpp`` for preprocessing.
- Pull request 64: support keywords like const, volatile, restrict and static
 in dimensions in array declarations.
- Reduce memory usage of AST nodes (issue 72).
- Parsing order of nested pointer declarations fixed (issue 68).
Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant