Skip to content

Commit 273a819

Browse files
gh-90110: Update the c-analyzer Tool (gh-97695)
#90110
1 parent 63780f4 commit 273a819

File tree

2 files changed

+7
-68
lines changed

2 files changed

+7
-68
lines changed

Tools/c-analyzer/cpython/_analyzer.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,10 @@ def _is_kwlist(decl):
287287

288288

289289
def _has_other_supported_type(decl):
290+
if hasattr(decl, 'file') and decl.file.filename.endswith('.c.h'):
291+
assert 'clinic' in decl.file.filename, (decl,)
292+
if decl.name == '_kwtuple':
293+
return True
290294
vartype = str(decl.vartype).split()
291295
if vartype[0] == 'struct':
292296
vartype = vartype[1:]

Tools/c-analyzer/cpython/globals-to-fix.tsv

Lines changed: 3 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -298,69 +298,6 @@ Objects/setobject.c - _dummy_struct -
298298
Objects/setobject.c - _PySet_Dummy -
299299
Objects/sliceobject.c - _Py_EllipsisObject -
300300

301-
#-----------------------
302-
# statically initialized
303-
304-
# argument clinic
305-
Objects/clinic/odictobject.c.h OrderedDict_fromkeys _kwtuple -
306-
Objects/clinic/odictobject.c.h OrderedDict_setdefault _kwtuple -
307-
Objects/clinic/odictobject.c.h OrderedDict_pop _kwtuple -
308-
Objects/clinic/odictobject.c.h OrderedDict_popitem _kwtuple -
309-
Objects/clinic/odictobject.c.h OrderedDict_move_to_end _kwtuple -
310-
Objects/clinic/funcobject.c.h func_new _kwtuple -
311-
Objects/clinic/longobject.c.h long_new _kwtuple -
312-
Objects/clinic/longobject.c.h int_to_bytes _kwtuple -
313-
Objects/clinic/longobject.c.h int_from_bytes _kwtuple -
314-
Objects/clinic/listobject.c.h list_sort _kwtuple -
315-
Objects/clinic/bytearrayobject.c.h bytearray___init__ _kwtuple -
316-
Objects/clinic/bytearrayobject.c.h bytearray_translate _kwtuple -
317-
Objects/clinic/bytearrayobject.c.h bytearray_split _kwtuple -
318-
Objects/clinic/bytearrayobject.c.h bytearray_rsplit _kwtuple -
319-
Objects/clinic/bytearrayobject.c.h bytearray_decode _kwtuple -
320-
Objects/clinic/bytearrayobject.c.h bytearray_splitlines _kwtuple -
321-
Objects/clinic/bytearrayobject.c.h bytearray_hex _kwtuple -
322-
Objects/clinic/memoryobject.c.h memoryview _kwtuple -
323-
Objects/clinic/memoryobject.c.h memoryview_cast _kwtuple -
324-
Objects/clinic/memoryobject.c.h memoryview_tobytes _kwtuple -
325-
Objects/clinic/memoryobject.c.h memoryview_hex _kwtuple -
326-
Objects/clinic/enumobject.c.h enum_new _kwtuple -
327-
Objects/clinic/structseq.c.h structseq_new _kwtuple -
328-
Objects/clinic/descrobject.c.h mappingproxy_new _kwtuple -
329-
Objects/clinic/descrobject.c.h property_init _kwtuple -
330-
Objects/clinic/codeobject.c.h code_replace _kwtuple -
331-
Objects/clinic/codeobject.c.h code__varname_from_oparg _kwtuple -
332-
Objects/clinic/moduleobject.c.h module___init__ _kwtuple -
333-
Objects/clinic/bytesobject.c.h bytes_split _kwtuple -
334-
Objects/clinic/bytesobject.c.h bytes_rsplit _kwtuple -
335-
Objects/clinic/bytesobject.c.h bytes_translate _kwtuple -
336-
Objects/clinic/bytesobject.c.h bytes_decode _kwtuple -
337-
Objects/clinic/bytesobject.c.h bytes_splitlines _kwtuple -
338-
Objects/clinic/bytesobject.c.h bytes_hex _kwtuple -
339-
Objects/clinic/bytesobject.c.h bytes_new _kwtuple -
340-
Objects/clinic/unicodeobject.c.h unicode_encode _kwtuple -
341-
Objects/clinic/unicodeobject.c.h unicode_expandtabs _kwtuple -
342-
Objects/clinic/unicodeobject.c.h unicode_split _kwtuple -
343-
Objects/clinic/unicodeobject.c.h unicode_rsplit _kwtuple -
344-
Objects/clinic/unicodeobject.c.h unicode_splitlines _kwtuple -
345-
Objects/clinic/unicodeobject.c.h unicode_new _kwtuple -
346-
Objects/clinic/complexobject.c.h complex_new _kwtuple -
347-
Python/clinic/traceback.c.h tb_new _kwtuple -
348-
Python/clinic/_warnings.c.h warnings_warn _kwtuple -
349-
Python/clinic/_warnings.c.h warnings_warn_explicit _kwtuple -
350-
Python/clinic/bltinmodule.c.h builtin___import__ _kwtuple -
351-
Python/clinic/bltinmodule.c.h builtin_compile _kwtuple -
352-
Python/clinic/bltinmodule.c.h builtin_exec _kwtuple -
353-
Python/clinic/bltinmodule.c.h builtin_pow _kwtuple -
354-
Python/clinic/bltinmodule.c.h builtin_print _kwtuple -
355-
Python/clinic/bltinmodule.c.h builtin_round _kwtuple -
356-
Python/clinic/bltinmodule.c.h builtin_sum _kwtuple -
357-
Python/clinic/import.c.h _imp_find_frozen _kwtuple -
358-
Python/clinic/import.c.h _imp_source_hash _kwtuple -
359-
Python/clinic/Python-tokenize.c.h tokenizeriter_new _kwtuple -
360-
Python/clinic/sysmodule.c.h sys_addaudithook _kwtuple -
361-
Python/clinic/sysmodule.c.h sys_set_coroutine_origin_tracking_depth _kwtuple -
362-
Python/clinic/sysmodule.c.h sys_set_int_max_str_digits _kwtuple -
363-
364301
#-----------------------
365302
# cached - initialized once
366303

@@ -440,9 +377,9 @@ Python/initconfig.c - _Py_StandardStreamErrors -
440377
# lazy
441378
Objects/floatobject.c - double_format -
442379
Objects/floatobject.c - float_format -
443-
Objects/longobject.c PyLong_FromString log_base_BASE -
444-
Objects/longobject.c PyLong_FromString convwidth_base -
445-
Objects/longobject.c PyLong_FromString convmultmax_base -
380+
Objects/longobject.c long_from_non_binary_base log_base_BASE -
381+
Objects/longobject.c long_from_non_binary_base convwidth_base -
382+
Objects/longobject.c long_from_non_binary_base convmultmax_base -
446383
Objects/perf_trampoline.c - perf_map_file -
447384
Objects/unicodeobject.c - ucnhash_capi -
448385
Parser/action_helpers.c _PyPegen_dummy_name cache -
@@ -568,7 +505,6 @@ Modules/_io/stringio.c - PyStringIO_Type -
568505
Modules/_io/textio.c - PyIncrementalNewlineDecoder_Type -
569506
Modules/_io/textio.c - PyTextIOBase_Type -
570507
Modules/_io/textio.c - PyTextIOWrapper_Type -
571-
# XXX This should have been found by the analyzer but wasn't:
572508
Modules/_io/winconsoleio.c - PyWindowsConsoleIO_Type -
573509
Modules/_testcapi/vectorcall.c - MethodDescriptorBase_Type -
574510
Modules/_testcapi/vectorcall.c - MethodDescriptorDerived_Type -
@@ -601,7 +537,6 @@ Modules/itertoolsmodule.c - ziplongest_type -
601537

602538
# statically initializd pointer to static type
603539
# XXX should be const?
604-
# XXX This should have been found by the analyzer but wasn't:
605540
Modules/_io/winconsoleio.c - _PyWindowsConsoleIO_Type -
606541

607542
# initialized once

0 commit comments

Comments
 (0)