/* depends on NoDepE */ void NoDepE_func(); void NoDepF_func() { static int firstcall = 1; if (firstcall) { firstcall = 0; NoDepE_func(); } } t-data/cgit-techsat.css'/> <link rel='shortcut icon' href='/favicon.ico'/> <link rel='alternate' title='Atom feed' href='http://service.techsat.com/oss-git/cpython.git/atom/Modules?h=master' type='application/atom+xml'/> </head> <body> <div id='cgit'><table id='header'> <tr> <td class='logo' rowspan='2'><a href='/oss-git/'><img src='/cgit-data/cgit.png' alt='cgit logo'/></a></td> <td class='main'><a href='/oss-git/'>index</a> : <a title='cpython.git' href='/oss-git/cpython.git/'>cpython.git</a></td><td class='form'><form method='get' action=''> <input type='hidden' name='showmsg' value='1'/><select name='h' onchange='this.form.submit();'> <option value='2.7'>2.7</option> <option value='3.3'>3.3</option> <option value='3.4'>3.4</option> <option value='3.5'>3.5</option> <option value='3.6'>3.6</option> <option value='benjamin-clang'>benjamin-clang</option> <option value='benjamin-iteration-torture'>benjamin-iteration-torture</option> <option value='buildbot-custom'>buildbot-custom</option> <option value='master' selected='selected'>master</option> </select> <input type='submit' name='' value='switch'/></form></td></tr> <tr><td class='sub'>https://github.com/python/cpython.git</td><td class='sub right'></td></tr></table> <table class='tabs'><tr><td> <a href='/oss-git/cpython.git/'>summary</a><a href='/oss-git/cpython.git/refs/'>refs</a><a class='active' href='/oss-git/cpython.git/log/Modules?showmsg=1'>log</a><a href='/oss-git/cpython.git/tree/Modules'>tree</a><a href='/oss-git/cpython.git/commit/Modules'>commit</a><a href='/oss-git/cpython.git/diff/Modules'>diff</a><a href='/oss-git/cpython.git/stats/Modules'>stats</a></td><td class='form'><form class='right' method='get' action='/oss-git/cpython.git/log/Modules'> <input type='hidden' name='showmsg' value='1'/><select name='qt'> <option value='grep'>log msg</option> <option value='author'>author</option> <option value='committer'>committer</option> <option value='range'>range</option> </select> <input class='txt' type='text' size='10' name='q' value=''/> <input type='submit' value='search'/> </form> </td></tr></table> <div class='path'>path: <a href='/oss-git/cpython.git/log/?ofs=600&showmsg=1'>root</a>/<a href='/oss-git/cpython.git/log/Modules?ofs=600&showmsg=1'>Modules</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th></th><th class='left'>Commit message (<a href='/oss-git/cpython.git/log/Modules?ofs=600'>Collapse</a>)</th><th class='left'>Author</th><th class='left'>Age</th><th class='left'>Files</th><th class='left'>Lines</th></tr> <tr class='nohover'><td class='commitgraph'>...</td><td colspan='6' /></tr> <tr class='logheader'><td class='commitgraph'>* </td><td class='logsubject'><a href='/oss-git/cpython.git/commit/Modules?id=f966e5397ed8f5c42c185223fc9b4d750a678d02'>bpo-29564:_PyMem_DumpTraceback() suggests enabling tracemalloc (GH-10510)</a><span class='decoration'></span></td><td>Victor Stinner</td><td><span title='2018-11-13 14:14:58 (GMT)'>2018-11-13</span></td><td>1</td><td>-0/+6</td></tr> <tr class='nohover'><td class='commitgraph'><span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> </td> <td colspan='5' class='logmsg'> If tracemalloc is not tracing Python memory allocations, _PyMem_DumpTraceback() now suggests to enable tracemalloc to get the traceback where the memory block has been allocated. </td></tr> <tr class='logheader'><td class='commitgraph'>* </td><td class='logsubject'><a href='/oss-git/cpython.git/commit/Modules?id=474eedfb3d1b6fecbd749f36bf4a987cf4a00b44'>bpo-34784: Fix PyStructSequence_NewType with heap-allocated StructSequence ↵</a><span class='decoration'></span></td><td>Eddie Elizondo</td><td><span title='2018-11-13 12:09:31 (GMT)'>2018-11-13</span></td><td>2</td><td>-41/+80</td></tr> <tr class='nohover'><td class='commitgraph'><span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> </td> <td colspan='5' class='logmsg'> (GH-9665) </td></tr> <tr class='logheader'><td class='commitgraph'>* </td><td class='logsubject'><a href='/oss-git/cpython.git/commit/Modules?id=1a6be91e6fd65ce9cb88cbbbb193db7e92ec6076'>bpo-35081: Make some _PyGC macros internal (GH-10507)</a><span class='decoration'></span></td><td>Victor Stinner</td><td><span title='2018-11-13 11:52:18 (GMT)'>2018-11-13</span></td><td>1</td><td>-1/+1</td></tr> <tr class='nohover'><td class='commitgraph'><span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> </td> <td colspan='5' class='logmsg'> * Move "GC" macros together: * PyObject_IS_GC() * _Py_AS_GC() * _PyObject_GC_IS_TRACKED() * _PyObject_GC_MAY_BE_TRACKED() * Mark other GC macros as internal (#ifdef Py_BUILD_CORE): * _PyGCHead_NEXT(g), _PyGCHead_SET_NEXT(g, p) * _PyGCHead_PREV(g), _PyGCHead_SET_PREV(g, p) * _PyGCHead_FINALIZED(g), _PyGCHead_SET_FINALIZED(g) * _PyGC_FINALIZED(o), _PyGC_SET_FINALIZED(o) * _PyObject_GC_TRACK(o), _PyObject_GC_UNTRACK(o) * _PyGC_PREV_MASK_FINALIZED * _PyGC_PREV_MASK_COLLECTING * _PyGC_PREV_SHIFT * _PyGC_PREV_MASK * Replace _PyGC_generation0 with _PyRuntime.gc.generation0 * _queuemodule.c: replace _PyObject_GC_UNTRACK() with with PyObject_GC_UnTrack() * Document that _PyObject_GC_TRACK() _PyObject_GC_UNTRACK() macros have been removed from the public C API. </td></tr> <tr class='logheader'><td class='commitgraph'>* </td><td class='logsubject'><a href='/oss-git/cpython.git/commit/Modules?id=0d12672b30b8c6c992bef7564581117ae83e11ad'>bpo-35081: Remove Py_BUILD_CORE from datetime.h (GH-10416)</a><span class='decoration'></span></td><td>Paul Ganssle</td><td><span title='2018-11-13 08:02:25 (GMT)'>2018-11-13</span></td><td>1</td><td>-8/+21</td></tr> <tr class='nohover'><td class='commitgraph'><span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> </td> <td colspan='5' class='logmsg'> Datetime macros like PyDate_Check() have two implementations, one using the C API capsule and one using direct access to the datetime type symbols defined in _datetimemodule.c. Since the direct access versions of the macros are only used in _datetimemodule.c, they have been moved out of "datetime.h" and into _datetimemodule.c. The _PY_DATETIME_IMPL macro is currently necessary in order to avoid both duplicate definitions of these macros in _datetimemodule.c and unnecessary declarations of C API capsule-related macros and varibles in datetime.h. Co-Authored-By: Victor Stinner <vstinner@redhat.com> </td></tr> <tr class='logheader'><td class='commitgraph'>* </td><td class='logsubject'><a href='/oss-git/cpython.git/commit/Modules?id=3015fb8ce4d25603434b9b44bb7effb98a481532'>bpo-35214: Add _Py_ prefix to MEMORY_SANITIZER def. (GH-10503)</a><span class='decoration'></span></td><td>Gregory P. Smith</td><td><span title='2018-11-13 06:01:22 (GMT)'>2018-11-13</span></td><td>2</td><td>-4/+4</td></tr> <tr class='nohover'><td class='commitgraph'><span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> </td> <td colspan='5' class='logmsg'> Rename our new MEMORY_SANITIZER define to _Py_MEMORY_SANITIZER. Project based C Preprocessor namespacing at its finest. :P </td></tr> <tr class='logheader'><td class='commitgraph'>* </td><td class='logsubject'><a href='/oss-git/cpython.git/commit/Modules?id=1584a0081500d35dc93ff88e5836df35faf3e3e2'>bpo-35214: Initial clang MemorySanitizer support (GH-10479)</a><span class='decoration'></span></td><td>Gregory P. Smith</td><td><span title='2018-11-12 20:07:14 (GMT)'>2018-11-12</span></td><td>3</td><td>-1/+19</td></tr> <tr class='nohover'><td class='commitgraph'><span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> </td> <td colspan='5' class='logmsg'> Adds configure flags for msan and ubsan builds to make it easier to enable. These also encode the detail that address sanitizer and memory sanitizer should disable pymalloc. Define MEMORY_SANITIZER when appropriate at build time and adds workarounds to existing code to mark things as initialized where the sanitizer is otherwise unable to determine that. This lets our build succeed under the memory sanitizer. not all tests pass without sanitizer failures yet but we're in pretty good shape after this. </td></tr> <tr class='logheader'><td class='commitgraph'>* </td><td class='logsubject'><a href='/oss-git/cpython.git/commit/Modules?id=621cebe81b1e6c8de10425955bf532d31ee4df42'>bpo-35081: Rename internal headers (GH-10275)</a><span class='decoration'></span></td><td>Victor Stinner</td><td><span title='2018-11-12 15:53:38 (GMT)'>2018-11-12</span></td><td>8</td><td>-12/+12</td></tr> <tr class='nohover'><td class='commitgraph'><span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> </td> <td colspan='5' class='logmsg'> Rename Include/internal/ headers: * pycore_hash.h -> pycore_pyhash.h * pycore_lifecycle.h -> pycore_pylifecycle.h * pycore_mem.h -> pycore_pymem.h * pycore_state.h -> pycore_pystate.h Add missing headers to Makefile.pre.in and PCbuild: * pycore_condvar.h. * pycore_hamt.h * pycore_pyhash.h </td></tr> <tr class='logheader'><td class='commitgraph'>* </td><td class='logsubject'><a href='/oss-git/cpython.git/commit/Modules?id=5f2df88b63e50d23914e97ec778861a52abdeaad'>bpo-35177: Add dependencies between header files (GH-10361)</a><span class='decoration'></span></td><td>Victor Stinner</td><td><span title='2018-11-11 23:56:19 (GMT)'>2018-11-11</span></td><td>1</td><td>-3/+2</td></tr> <tr class='nohover'><td class='commitgraph'><span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> </td> <td colspan='5' class='logmsg'> * ast.h now includes Python-ast.h and node.h * parsetok.h now includes node.h and grammar.h * symtable.h now includes Python-ast.h * Modify asdl_c.py to enhance Python-ast.h: * Add #ifndef/#define Py_PYTHON_AST_H to be able to include the header twice * Add "extern { ... }" for C++ * Undefine "Yield" macro conflicting with winbase.h * Remove "#undef Yield" from C files, it's now done in Python-ast.h * Remove now useless includes in C files </td></tr> <tr class='logheader'><td class='commitgraph'>* </td><td class='logsubject'><a href='/oss-git/cpython.git/commit/Modules?id=d17a693fa08ce9f2d35acbb1f76e20bdae3e01da'>bpo-35199: Add an internal _PyTuple_ITEMS() macro (GH-10434)</a><span class='decoration'></span></td><td>Victor Stinner</td><td><span title='2018-11-09 15:56:48 (GMT)'>2018-11-09</span></td><td>2</td><td>-4/+4</td></tr> <tr class='nohover'><td class='commitgraph'><span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> </td> <td colspan='5' class='logmsg'> * _PyTuple_ITEMS() gives access to the tuple->ob_item field and cast the first argument to PyTupleObject*. This internal macro is only usable if Py_BUILD_CORE is defined. * Replace &PyTuple_GET_ITEM(ob, 0) with _PyTuple_ITEMS(ob). * Replace PyTuple_GET_ITEM(op, 1) with &_PyTuple_ITEMS(ob)[1]. </td></tr> <tr class='logheader'><td class='commitgraph'>* </td><td class='logsubject'><a href='/oss-git/cpython.git/commit/Modules?id=130893debfd97c70e3a89d9ba49892f53e6b9d79'>bpo-35081: Internal headers require Py_BUILD_CORE (GH-10363)</a><span class='decoration'></span></td><td>Victor Stinner</td><td><span title='2018-11-09 12:03:37 (GMT)'>2018-11-09</span></td><td>1</td><td>-0/+1</td></tr> <tr class='nohover'><td class='commitgraph'><span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> </td> <td colspan='5' class='logmsg'> * All internal header files now require Py_BUILD_CORE or Py_BUILD_CORE_BUILTIN to be defined. * _json.c is now compiled with Py_BUILD_CORE_BUILTIN to access pycore_accu.h header. * Add an example to Modules/Setup to show how to build _json as a built-in module; it requires non trivial compiler options. </td></tr> <tr class='logheader'><td class='commitgraph'>* </td><td class='logsubject'><a href='/oss-git/cpython.git/commit/Modules?id=216aaaa0564951f2ca408e2086ba60d849d52902'>Fixing wording in comment. (GH-10425)</a><span class='decoration'></span></td><td>Raymond Hettinger</td><td><span title='2018-11-09 09:06:02 (GMT)'>2018-11-09</span></td><td>1</td><td>-1/+1</td></tr> <tr class='nohover'><td class='commitgraph'><span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> </td> <td colspan='5' class='logmsg'> Since the n==1 case just returns *max*, it cannot be larger than the magnitude of the vector entry. </td></tr> <tr class='logheader'><td class='commitgraph'>* </td><td class='logsubject'><a href='/oss-git/cpython.git/commit/Modules?id=7a69cf47a9bbc95f95fd67c982bff121b2a903cb'>bpo-35194: Fix a wrong constant in cp932 codec (GH-10420)</a><span class='decoration'></span></td><td>Alexey Izbyshev</td><td><span title='2018-11-09 07:12:06 (GMT)'>2018-11-09</span></td><td>1</td><td>-1/+1</td></tr> <tr class='nohover'><td class='commitgraph'><span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> </td> <td colspan='5' class='logmsg'> This typo doesn't affect the result because wrong bits are discarded on implicit conversion to unsigned char, but it trips UBSan with -fsanitize=implicit-integer-truncation. https://bugs.python.org/issue35194 </td></tr> <tr class='logheader'><td class='commitgraph'>* </td><td class='logsubject'><a href='/oss-git/cpython.git/commit/Modules?id=9fc57a384825530635ef5ec093a31d864ea14f7c'>bpo-35081: Add pycore_fileutils.h (GH-10371)</a><span class='decoration'></span></td><td>Victor Stinner</td><td><span title='2018-11-06 23:44:03 (GMT)'>2018-11-06</span></td><td>1</td><td>-0/+1</td></tr> <tr class='nohover'><td class='commitgraph'><span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> </td> <td colspan='5' class='logmsg'> Move Py_BUILD_CORE code from Include/fileutils.h to a new Include/internal/pycore_fileutils.h file. </td></tr> <tr class='logheader'><td class='commitgraph'>* </td><td class='logsubject'><a href='/oss-git/cpython.git/commit/Modules?id=5ed6995675b084fe583b71f96fdde4413bb2a77b'>bpo-35081: Add _PyCoreConfig_AsDict() (GH-10362)</a><span class='decoration'></span></td><td>Victor Stinner</td><td><span title='2018-11-06 14:59:52 (GMT)'>2018-11-06</span></td><td>1</td><td>-147/+5</td></tr> <tr class='nohover'><td class='commitgraph'><span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> </td> <td colspan='5' class='logmsg'> _testcapimodule.c must not include pycore_pathconfig.h, since it's an internal header files. Changes: * Add _PyCoreConfig_AsDict() function to coreconfig.c. * Remove pycore_pathconfig.h include from _testcapimodule.h. * pycore_pathconfig.h now requires Py_BUILD_CORE to be defined. * _testcapimodule.c compilation now fails if it's built with Py_BUILD_CORE defined. </td></tr> <tr class='logheader'><td class='commitgraph'>* </td><td class='logsubject'><a href='/oss-git/cpython.git/commit/Modules?id=570e371fd6e8615ece9b9e21fbe77149ebeb172e'>Fix possible crashes in pwdmodule.c. (GH-10331)</a><span class='decoration'></span></td><td>Zackery Spytz</td><td><span title='2018-11-05 19:26:40 (GMT)'>2018-11-05</span></td><td>1</td><td>-0/+2</td></tr> <tr class='nohover'><td class='commitgraph'><span class='column1'>|</span> <span class='column1'>|</span> <span class='column1'>|</span> </td> <td colspan='5' class='logmsg'> "p" was not initialized if the first PyMem_RawRealloc() call failed. </td></tr> <tr class='logheader'><td class='commitgraph'>* </td><td class='logsubject'><a href='/oss-git/cpython.git/commit/Modules?id=34fd4c20198dea6ab2fe8dc6d32d744d9bde868d'>bpo-35133: Fix mistakes when concatenate string literals on different lines. ↵</a><span class='decoration'></span></td><td>Serhiy Storchaka</td><td><span title='2018-11-05 14:20:25 (GMT)'>2018-11-05</span>