- 09 Mar, 2019 7 commits
-
-
Pablo Galindo authored
The overflow check was relying on undefined behaviour as it was using the result of the multiplication to do the check, and once the overflow has already happened, any operation on the result is undefined behaviour. Some extra checks that exercise code paths related to this are also added.
-
Carl Bordum Hansen authored
-
tyomitch authored
d_initial, the first state of a particular DFA in the parser has always been initialized to 0 in the old pgen as well as the new pgen. As this value is not used and the first state of each DFA is assumed to be the first element in the array representing it, remove d_initial from the parser to reduce complexity.
-
Raymond Hettinger authored
-
Eric Snow authored
-
Eric Snow authored
-
Eric Snow authored
-
- 08 Mar, 2019 5 commits
-
-
Cheryl Sabella authored
-
Eric Snow authored
The macros were working only because our usage happened to parse correctly. Changing that usage (e.g. with pointers) would break the macros. This fixes that.
-
Anthony Sottile authored
-
Terry Jan Reedy authored
-
Benedikt Werner authored
-
- 07 Mar, 2019 9 commits
-
-
Guido van Rossum authored
This adds a `feature_version` flag to `ast.parse()` (documented) and `compile()` (hidden) that allow tweaking the parser to support older versions of the grammar. In particular if `feature_version` is 5 or 6, the hacks for the `async` and `await` keyword from PEP 492 are reinstated. (For 7 or higher, these are unconditionally treated as keywords, but they are still special tokens rather than `NAME` tokens that the parser driver recognizes.) https://bugs.python.org/issue35975
-
Zackery Spytz authored
-
Steve Dower authored
-
Raymond Hettinger authored
-
Steve Dower authored
-
Raymond Hettinger authored
-
Raymond Hettinger authored
-
Andre Delfino authored
Remove 's' mention as there's no argument.
-
Emmanuel Arias authored
-
- 06 Mar, 2019 9 commits
-
-
Davide Rizzo authored
-
Jeremy Kloth authored
Change PyDTrace_GC_DONE() argument type from int to Py_ssize_t.
-
Davide Rizzo authored
-
Emmanuel Arias authored
-
Victor Stinner authored
bpo-34247, bpo-36142: The PYTHONMALLOC environment variable has the priority over PYTHONDEV env var and "-X dev" command line option. For example, PYTHONMALLOC=malloc PYTHONDEVMODE=1 sets the memory allocators to "malloc" (and not to "debug"). Add an unit test.
-
Pradyun Gedam authored
* Update pip to 19.0.3 * Update setuptools to 40.8.0
-
Raymond Hettinger authored
-
Victor Stinner authored
* _PyPreConfig_Read() now sets temporarily LC_CTYPE to the user preferred locale, as _PyPreConfig_Write() will do permanentely. * Fix _PyCoreConfig_Clear(): clear run_xxx attributes * _Py_SetArgcArgv() doesn't have to be exported * _PyCoreConfig_SetGlobalConfig() no longer applies preconfig
-
Victor Stinner authored
* _PyPreConfig_Write() now reallocates the pre-configuration with the new memory allocator. * It is no longer needed to force the "default raw memory allocator" to clear pre-configuration and core configuration. Simplify the code. * _PyPreConfig_Write() now does nothing if called after Py_Initialize(): no longer check if the allocator is the same. * Remove _PyMem_GetDebugAllocatorsName(): dev mode sets again allocator to "debug".
-
- 05 Mar, 2019 10 commits
-
-
Victor Stinner authored
* _PyPreConfig_Write() now sets the memory allocator. * _PyPreConfig_Write() gets a return type: _PyInitError. * _Py_InitializeCore() now reads and writes the pre-configuration (set the memory allocator, configure the locale) before reading and writing the core configuration.
-
Victor Stinner authored
The development mode now uses the effective name of the debug memory allocator ("pymalloc_debug" or "malloc_debug"). So the name doesn't change after setting the memory allocator.
-
Serhiy Storchaka authored
NamedStore has been replaced with Store. The difference between NamedStore and Store is handled when precess the NamedExpr node one level upper.
-
Serhiy Storchaka authored
Correctly fixes bpo-36197.
-
Victor Stinner authored
* Move 'allocator' and 'dev_mode' fields from _PyCoreConfig to _PyPreConfig. * Fix InitConfigTests of test_embed: dev_mode sets allocator to "debug", add a new tests for env vars with dev mode enabled.
-
Stéphane Wirtel authored
Cast function pointers to (void(*)(void)) before casting to (PyCFunction) to make "warning: cast between incompatible function types" false alarm quiet.
-
Victor Stinner authored
* Move following fields from _PyCoreConfig to _PyPreConfig: * coerce_c_locale * coerce_c_locale_warn * legacy_windows_stdio * utf8_mode * _PyPreConfig_ReadFromArgv() is now responsible to choose the filesystem encoding * _PyPreConfig_Write() now sets the LC_CTYPE locale
-
Serhiy Storchaka authored
-
Serhiy Storchaka authored
-
Martijn Pieters authored
Methods are always bound, and `__self__` can no longer be `NULL` (`method_new()` and `PyMethod_New()` both explicitly check for this). Moreover, once a bound method is bound, it *stays* bound and won't be re-bound to something else, so the section in the datamodel that talks about accessing an methods in a different descriptor-binding context doesn't apply any more in Python 3.
-