Commit Graph

494 Commits

Author SHA1 Message Date
Levak Borok
d8f955d692 Run tests in parallel or only some with a filter
`make check JOBS=4` will spawn 4 workers and spread the tests among them.
`make check FILTER=try` will only run tests that contain `try` in their name.
2024-06-19 17:56:06 +02:00
Michael Hansen
513e03c883 Remove unnecessary template parameter in destructor. Fixes #487 2024-05-30 14:56:07 -07:00
Michael Hansen
6467c2cc52 Merge pull request #469 from greenozon/master
Fix for Centos6/7 compilation issues
2024-03-12 15:56:16 -07:00
Alex
8367a8e0ab Return back a fix for Centos6/7 compilation issues not related to shadow ones 2024-03-12 22:58:43 +02:00
Alex
fd80a359c7 Restore changes for shadow warnings... 2024-03-12 22:55:56 +02:00
Alex
ba91ff2de5 Revert shadow changes and add option -Wno-error=shadow to cmakefile 2024-03-12 22:40:50 +02:00
Alex
68a697dfc1 Revert "Fix for Centos6/7 compilation issues"
This reverts commit f80b662f77.
2024-03-12 22:38:03 +02:00
Alex
ce439a67bb Return back -Wshadow compiler option into non-Windows envs 2024-03-11 22:51:17 +02:00
Alex
6bae7e6df5 Fix unhappy MSVC compiler on special toekens 2024-03-11 22:43:26 +02:00
Alex
28fdb904a0 Prefer the parameters be renamed and this warning (-Wshadow) kept to make GCC happy 2024-03-11 22:24:40 +02:00
Alex
f80b662f77 Fix for Centos6/7 compilation issues 2024-03-08 14:27:36 +02:00
Michael Hansen
1f30136e21 Merge branch 'master' of github.com:ncaklovic/pycdc 2024-02-28 15:43:58 -08:00
Michael Hansen
8e48bf2194 Merge pull request #462 from greenozon/master
Aligning some opcodes for Python 3.11, 3.12: LOAD_GLOBAL, LOAD_ATTR
2024-02-28 15:40:02 -08:00
ncaklovic
32c1ca10bb Update ASTree.cpp
Co-authored-by: Michael Hansen <zrax0111@gmail.com>
2024-02-28 12:34:32 +01:00
ncaklovic
28b62b6534 Update bytecode.cpp
Co-authored-by: Michael Hansen <zrax0111@gmail.com>
2024-02-28 12:34:15 +01:00
Michael Hansen
bb342a9be7 Merge pull request #460 from TiZCrocodile/support-for-WITH_CLEANUP_START,WITH_CLEANUP_FINISH
add support for `WITH_CLEANUP_START`,`WITH_CLEANUP_FINISH`
2024-02-27 15:52:57 -08:00
Alex
035f963f3d Aligning some opcodes for Python 3.11, 3.12: LOAD_GLOBAL, LOAD_ATTR 2024-02-27 23:12:03 +02:00
MrDakik
ab80ec1d2c moved compiled tests of with stmt to xfail 2024-02-27 19:20:50 +02:00
MrDakik
e8be65b2f3 add support for WITH_CLEANUP_START,WITH_CLEANUP_FINISH 2024-02-27 10:54:07 +02:00
Michael Hansen
d361ec3e7d Merge pull request #458 from TiZCrocodile/support-for-LOAD_CLASSDEREF
Added support for `LOAD_CLASSDEREF`
2024-02-26 14:27:51 -08:00
Michael Hansen
7559b782c1 Reindent test file 2024-02-26 14:27:20 -08:00
MrDakik
00d4b02d1e Added support for LOAD_CLASSDEREF
The opcode itself is exactly the same as `LOAD_DEREF`
1) The problem is when the class is a closure (e.g. defined inside a function body) then there is a `BUILD_TUPLE` after the `LOAD_BUILD_CLASS` which makes problems.
2) There is another problem which makes the `code->name()` of the class to be part of the function locals. (e.g. `func.<locals>.my_class` instead of `my_class`) which makes the check `srcString->isEqual(code->name().cast<PycObject>())` be invalid.
2024-02-26 16:52:31 +02:00
Michael Hansen
0a50980e8f Merge pull request #437 from kako57/master
Fixes #321 for arithmetic operators
2024-02-14 21:40:58 -08:00
Michael Hansen
7929dbe6e0 Add test case for #437 2024-02-14 21:36:27 -08:00
Michael Hansen
787090e0a5 Merge github.com:kako57/pycdc 2024-02-14 21:31:17 -08:00
Nenad Čaklović
5f225caf52 LOAD_ATTR operand changes in 3.12 2024-01-05 21:32:53 +01:00
Michael Hansen
2da061fc98 Merge pull request #423 from ncaklovic/master
COMPARE_OP operand changes in 3.12
2024-01-04 15:55:09 -08:00
Nenad Čaklović
830dd13228 COMPARE_OP operand changes in 3.12 2024-01-04 23:49:07 +01:00
Michael Hansen
7560149895 Ensure there is always space after the opcode (some opcode names are longer than 30 characters now) 2023-12-06 11:38:03 -08:00
Michael Hansen
ab6aaf6da3 Convert opcode maps to C++ source with macros.
This removes the requirement to run a python script to preprocess the
input files before compiling pycdas/pycdc.
2023-12-05 14:30:33 -08:00
Michael Hansen
20ac52d801 Remove PythonBytecode.txt.
The format was somewhat awkward and often redundant.  Anything that was
previously documented in the file is now moved to relevant code comments
or tables instead.
2023-12-05 13:43:50 -08:00
Michael Hansen
0c0e3597bd Add version and parameter info to bytecode_ops.inl 2023-12-05 13:24:00 -08:00
Michael Hansen
795ad1861d Also show the first line when using --pycode-extra 2023-11-30 12:49:04 -08:00
Michael Hansen
74b8f7eec7 Move LOAD_SUPER_ATTR cases closer to other name cases 2023-11-30 12:37:29 -08:00
Michael Hansen
b424ae8fd7 Refactor disassembly operand formatting to remove single-use functions.
This also cleans up an unintentionally duplicated case, and makes it more
obvious when such duplication occurs.
2023-11-30 10:16:00 -08:00
Michael Hansen
9c00554efb Add basic support for some Instrumented opcodes which should match their
non-instrumented versions.
2023-11-18 17:59:24 -08:00
Michael Hansen
9d1e156cec Correctly decode operand types for many newer opcodes in disassembly 2023-11-18 17:45:35 -08:00
Michael Hansen
a86a6eb54f Fix a couple of incorrect instructions in Python 3.1 2023-11-18 17:44:36 -08:00
Michael Hansen
3ffbb0aa20 Fix some incorrect opcode tables from Python 1.0-1.4
The dis.py from these versions was often out-of-date from the C source.
2023-11-16 14:51:42 -08:00
Michael Hansen
4ecdd1f81b Remove unused python_NN_unmap() functions 2023-11-16 11:27:31 -08:00
Michael Hansen
0c6128a895 Add missing ACCESS_MODE opcode from Python 1.0-1.4 2023-11-16 11:16:46 -08:00
Michael Hansen
57e16d19d1 Refactor bc_next to more clearly split pre- and post-3.6 behavior 2023-11-16 11:16:46 -08:00
asas1asas200
9ab04e2c0b Fix CMP0148 warning in CMakeLists.txt (#400)
* Fix CMP0148 warning in CMakeLists.txt

* bump cmake minimum required to 3.12

* Fix var name to match  new Find module
2023-11-16 08:07:00 -08:00
Jack
5936412a6f fix #396 Unsupported Node type: 27 (#397)
* fix #396 Unsupported Node type: 27

* Add test file

* Modify a little comment

* Modify the test pyc file name

* Delete redundant pyc files

* retest

* Add newline at EOF

---------

Co-authored-by: Michael Hansen <zrax0111@gmail.com>
2023-11-11 10:22:49 -08:00
Michael Hansen
c7d3315156 Clarify prefix check on interned string type 2023-11-09 15:45:43 -08:00
Michael Hansen
21c35b2f4c Simplify PycDict key/value storage a bit 2023-11-09 15:05:55 -08:00
Michael Hansen
e27faa1e88 Remove unnecessary sequence interface on PycDict 2023-11-09 14:20:15 -08:00
Michael Hansen
9b384ad1fa Add basic bytecode and disassembly support for Python 3.12 2023-11-09 12:17:03 -08:00
TheHellTower
b32f231e33 Add GEN_START support (#392)
* Apparently should be enough ?

* Add `GEN_START` test

* Add `GEN_START` test compiled

* Add `GEN_START` test tokenized

* Smaller test since only POP is needed.

* Smaller test since only POP is needed.

* Smaller test since only POP is needed.

* dos2unix
2023-10-20 13:43:14 -07:00
Michael Hansen
d62c8adf89 Merge branch '3_11-support-for-new-opcodes' of https://github.com/TiZCrocodile/pycdc 2023-08-26 10:58:37 -07:00