Staging
v0.5.1
https://github.com/python/cpython
Revision 345cd37abe324ad4f60f80e2c3133b8849e54e9b authored by Eric Snow on 23 October 2020, 00:42:51 UTC, committed by GitHub on 23 October 2020, 00:42:51 UTC
The original tool wasn't working right and it was simpler to create a new one, partially re-using some of the old code. At this point the tool runs properly on the master. (Try: ./python Tools/c-analyzer/c-analyzer.py analyze.)  It take ~40 seconds on my machine to analyze the full CPython code base.

Note that we'll need to iron out some OS-specific stuff (e.g. preprocessor). We're okay though since this tool isn't used yet in our workflow. We will also need to verify the analysis results in detail before activating the check in CI, though I'm pretty sure it's close.

https://bugs.python.org/issue36876
1 parent ec388cf
History
Tip revision: 345cd37abe324ad4f60f80e2c3133b8849e54e9b authored by Eric Snow on 23 October 2020, 00:42:51 UTC
bpo-36876: Fix the C analyzer tool. (GH-22841)
Tip revision: 345cd37
File Mode Size
cpython
internal
Python-ast.h -rw-r--r-- 28.3 KB
Python.h -rw-r--r-- 3.6 KB
abstract.h -rw-r--r-- 28.3 KB
asdl.h -rw-r--r-- 2.7 KB
ast.h -rw-r--r-- 604 bytes
bltinmodule.h -rw-r--r-- 264 bytes
boolobject.h -rw-r--r-- 885 bytes
bytearrayobject.h -rw-r--r-- 1.4 KB
bytesobject.h -rw-r--r-- 3.0 KB
cellobject.h -rw-r--r-- 712 bytes
ceval.h -rw-r--r-- 5.6 KB
classobject.h -rw-r--r-- 1.6 KB
code.h -rw-r--r-- 318 bytes
codecs.h -rw-r--r-- 6.9 KB
compile.h -rw-r--r-- 3.5 KB
complexobject.h -rw-r--r-- 1.8 KB
context.h -rw-r--r-- 1.9 KB
datetime.h -rw-r--r-- 9.4 KB
descrobject.h -rw-r--r-- 2.9 KB
dictobject.h -rw-r--r-- 3.8 KB
dynamic_annotations.h -rw-r--r-- 21.9 KB
enumobject.h -rw-r--r-- 253 bytes
errcode.h -rw-r--r-- 1.6 KB
eval.h -rw-r--r-- 1.2 KB
exports.h -rw-r--r-- 1.1 KB
fileobject.h -rw-r--r-- 1.5 KB
fileutils.h -rw-r--r-- 597 bytes
floatobject.h -rw-r--r-- 4.3 KB
frameobject.h -rw-r--r-- 337 bytes
funcobject.h -rw-r--r-- 4.0 KB
genericaliasobject.h -rw-r--r-- 334 bytes
genobject.h -rw-r--r-- 3.3 KB
import.h -rw-r--r-- 3.0 KB
interpreteridobject.h -rw-r--r-- 334 bytes
intrcheck.h -rw-r--r-- 816 bytes
iterobject.h -rw-r--r-- 521 bytes
listobject.h -rw-r--r-- 1.7 KB
longintrepr.h -rw-r--r-- 3.7 KB
longobject.h -rw-r--r-- 8.5 KB
marshal.h -rw-r--r-- 803 bytes
memoryobject.h -rw-r--r-- 2.7 KB
methodobject.h -rw-r--r-- 3.7 KB
modsupport.h -rw-r--r-- 9.7 KB
moduleobject.h -rw-r--r-- 2.3 KB
namespaceobject.h -rw-r--r-- 349 bytes
object.h -rw-r--r-- 24.4 KB
objimpl.h -rw-r--r-- 7.9 KB
odictobject.h -rw-r--r-- 1.3 KB
opcode.h -rw-r--r-- 5.1 KB
osdefs.h -rw-r--r-- 737 bytes
osmodule.h -rw-r--r-- 291 bytes
parser_interface.h -rw-r--r-- 1.1 KB
patchlevel.h -rw-r--r-- 1.3 KB
picklebufobject.h -rw-r--r-- 846 bytes
py_curses.h -rw-r--r-- 2.4 KB
pyarena.h -rw-r--r-- 2.7 KB
pycapsule.h -rw-r--r-- 1.7 KB
pyctype.h -rw-r--r-- 1.3 KB
pydebug.h -rw-r--r-- 1.1 KB
pydecimal.h -rw-r--r-- 5.7 KB
pydtrace.d -rw-r--r-- 1008 bytes
pydtrace.h -rw-r--r-- 2.4 KB
pyerrors.h -rw-r--r-- 12.1 KB
pyexpat.h -rw-r--r-- 2.4 KB
pyfpe.h -rw-r--r-- 444 bytes
pyframe.h -rw-r--r-- 466 bytes
pyhash.h -rw-r--r-- 4.2 KB
pylifecycle.h -rw-r--r-- 2.0 KB
pymacconfig.h -rw-r--r-- 2.9 KB
pymacro.h -rw-r--r-- 4.8 KB
pymath.h -rw-r--r-- 8.1 KB
pymem.h -rw-r--r-- 4.3 KB
pyport.h -rw-r--r-- 30.3 KB
pystate.h -rw-r--r-- 5.1 KB
pystrcmp.h -rw-r--r-- 436 bytes
pystrhex.h -rw-r--r-- 849 bytes
pystrtod.h -rw-r--r-- 1.4 KB
pythonrun.h -rw-r--r-- 5.8 KB
pythread.h -rw-r--r-- 5.8 KB
pytime.h -rw-r--r-- 8.7 KB
rangeobject.h -rw-r--r-- 628 bytes
setobject.h -rw-r--r-- 3.2 KB
sliceobject.h -rw-r--r-- 2.5 KB
structmember.h -rw-r--r-- 2.0 KB
structseq.h -rw-r--r-- 1.4 KB
symtable.h -rw-r--r-- 5.2 KB
sysmodule.h -rw-r--r-- 1.2 KB
token.h -rw-r--r-- 2.6 KB
traceback.h -rw-r--r-- 584 bytes
tracemalloc.h -rw-r--r-- 1.1 KB
tupleobject.h -rw-r--r-- 1.6 KB
typeslots.h -rw-r--r-- 2.3 KB
ucnhash.h -rw-r--r-- 1.0 KB
unicodeobject.h -rw-r--r-- 35.3 KB
warnings.h -rw-r--r-- 1.7 KB
weakrefobject.h -rw-r--r-- 2.8 KB

back to top