| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
| |
* https://github.com/actions/checkout/releases
* https://github.com/actions/setup-python/releases
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make sure to invalidate finder caches before trying to import generated
modules. This is necessary according to the Python documentation:
https://docs.python.org/3/library/importlib.html#importlib.invalidate_caches
This fixes a hard-to-reproduce bug that Python would be unable to find
just-generated `lextab.py` if mtime of the current directory did not
change from the moment the script was started. This could
e.g. be the case if one has second-precision timestamps and removes
the generated file just before starting the build, e.g.:
$ rm pycparser/lextab.py; python -m build -nw
It could also be reproduced easier by doing something like:
$ cd pycparser
$ touch .; python -B _build_tables.py
Traceback (most recent call last):
File "/var/tmp/pycparser/pycparser/_build_tables.py", line 38, in <module>
import lextab
ModuleNotFoundError: No module named 'lextab'
This is because the first command (`rm` or `touch`) updates the mtime
of the directory to the current time. If the script is run fast enough,
it manages to scan the directory and then write the new `lextab.py`
within the same second. As a result, mtime of the directory after
writing the new file is the same as when the script was started, finder
does not invalidate the cache and assumes that `lextab.py` does not
exist since it did not exist when the directory was scanned earlier.
This potentially fixes #493.
It was originally reported on https://bugs.gentoo.org/701878.
Thanks to Gary E. Miller for patience in reproducing the problem
and proxy-debugging it for me, as well as testing the final patch before
submission.
|
|
|
| |
Signed-off-by: Joyce <joycebrum@google.com>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* Support _Pragma, a C99 alternative to #pragma
See https://gcc.gnu.org/onlinedocs/cpp/Pragmas.html
* Test cases for _Pragma
* Add explanatory comment for _PRAGMA and PPPRAGMA
|
| |
|
| |
|
|
|
|
| |
simplify it to use f-strings while we're at it
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
* Add Python 3.11 as a supported version
Fixes #468
* Address review: add Python 3.11 to CI test matrix
|
| |
|
| |
|
|
|
|
| |
Emit stderr as well as stdout from the example in case of failure
|
| |
|
| |
|
| |
|
|
|
|
| |
updates #438
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| | |
* Fix typos
* Revert changes in vendor module
|
|/ |
|
| |
|
|
|
|
|
|
|
|
|
| |
* Fix PEP8 [E101](https://github.com/PyCQA/pycodestyle/blob/2.8.0/docs/intro.rst#error-codes)
* Fix PEP8 [E711](https://github.com/PyCQA/pycodestyle/blob/2.8.0/docs/intro.rst#error-codes)
* Fix E999 (python2)
* Fix PEP8 [F401](https://flake8.pycqa.org/en/4.0.1/user/error-codes.html)
|
|
|
|
|
| |
* Add support for Python 3.10
* Test on 3.10 final
|
|
|
| |
Co-authored-by: vit9696 <vit9696@users.noreply.github.com>
|
|
|
|
|
|
|
| |
* Implement u8, u, and U strings from C11
* Also add u8, u, and U chars from C11 and C23
Co-authored-by: vit9696 <vit9696@users.noreply.github.com>
|
|
|
|
| |
This lets us re-enable that were commented out in #435
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Implement _Alignas and _Alignof support with tests
* Improve testing and avoid unnecessary alignas for typedef
* Add more tests
* Drop legacy artifact
* Remove extra _add_declaration_specifier call
* Drop custom equality comparators for now
Co-authored-by: vit9696 <vit9696@users.noreply.github.com>
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* Improve _Atomic support with more tests and fix typedef handling
* Remove duplicated tests and check the generated code for typedefs
* Add typedef testing to parser as well
Co-authored-by: vit9696 <vit9696@users.noreply.github.com>
|
|
|
|
| |
Now it matches the yacc flag name
|
|
|
|
| |
Updates #430
|
|
|
|
|
| |
Now the ASTs produced are more correct, and more complex cases work like
nested _Atomic(...) specifiers.
|
|
|
|
|
| |
Based on #431 by vit9696
Updates #430
|
|
|
|
|
|
|
| |
This adds initial implementation for the _Atomic keyword in C11, only focusing
on the use as qualifier (spec section 6.7.3)
Based on #431 by vit9696. Updates #430
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Introduce partial C11 support
Implemented _Noreturn, _Static_assert, _Thread_local. Also fixed
tests with preprocessor on macOS.
* Add more tests
Co-authored-by: vit9696 <vit9696@users.noreply.github.com>
|
| |
|
| |
|
| |
|