Non-critical deficiencies in Tools/c-globals/c-globals.py
.
#49
Labels
complexity: medium
moderately hard to figure out
P1
medium priority
size: medium
requires a moderate amount of changes
status: blocked
waiting for another issue
type: code health
X [isolation]
improved interpreter isolation
X [runtime]
CPython runtime (lifecycle, state)
(see #33)
(blocked by #47)
In #47 we are addressing critical deficiencies in the
check-c-globals.py
(and addingc-globals.py
). Here we are focusing on nice-to-haves forc-globals.py
(at the least identifying them). While they are not the focus of #47, some of them might be partially addressed there.Here are some non-critical deficiencies:
ignored-globals.txt
)ignored-globals.txt
isn't greatstatic const
, etc....
<TBD>
...
(Everything past here is just dumped WIP text...)
Directory structure:
TODO:
Formatting:
--formatter FORMATTER,...
CLI arg"single-line" formatter
"basic" formatter
"table" formatter (columns, sort, group-by)
"json" formatter
"tsv" formatter
show.py
: addshow_table(rows, columns)
__main__.py
: add "formatter" arg to main() and command funcs__main__.py
: add "--formatter" CLI arg to "check" & "show" commandinfo.py
: addStaticVar.level
andStaticVar.reason
known.py
: add "resolveVar(StaticVar)"add more functionality (e.g. better info) to
c-globals.py
_cg/__main__
: show-known (table of statics, table of macros, table of types)_cg/info.py
: StaticVar, Macro, Struct_cg/__main__
: show-found (table of statics, table of macros, table of types)_cg/__main__
: structs (show table)Here are things we can do later:
StaticVar.macro
_cg/info.py
: addMacro
,Struct
_cg/__main__
: show-known (table of statics, table of macros, table of types)_cg/__main__
: show-found (table of statics, table of macros, table of types)_cg/__main__
: structs (show table)parsing: find statics (w/scope), macros, structs
identify per-interpreter struct defs (e.g. PyObject), macros, and statics
CLI:
[-v|--verbose] [-q|--quiet]
CLI:
show [--all] [--filter FILTER] [--columns COLUMNS] [--sort COL[,COL,...]] [--group-by COL[,COL,...]]
track ifdefs
unfold where ifdefs split a block (e.g. func, struct)
stop using preprocessor (or compare with results with preprocessor)
option to skip self check?
bpo-36876: "Global C variables are a problem."
The text was updated successfully, but these errors were encountered: