mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-05-30 01:02:29 +00:00
Python 3.7 METH_FASTCALL backport (#406)
This commit is contained in:
parent
fec396037a
commit
83b743cf96
103 changed files with 2949 additions and 3356 deletions
56
third_party/python/Modules/clinic/_sre.inc
vendored
56
third_party/python/Modules/clinic/_sre.inc
vendored
|
@ -42,7 +42,7 @@ static int
|
|||
_sre_getlower_impl(PyObject *module, int character, int flags);
|
||||
|
||||
static PyObject *
|
||||
_sre_getlower(PyObject *module, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
|
||||
_sre_getlower(PyObject *module, PyObject **args, Py_ssize_t nargs)
|
||||
{
|
||||
PyObject *return_value = NULL;
|
||||
int character;
|
||||
|
@ -53,10 +53,6 @@ _sre_getlower(PyObject *module, PyObject **args, Py_ssize_t nargs, PyObject *kwn
|
|||
&character, &flags)) {
|
||||
goto exit;
|
||||
}
|
||||
|
||||
if (!_PyArg_NoStackKeywords("getlower", kwnames)) {
|
||||
goto exit;
|
||||
}
|
||||
_return_value = _sre_getlower_impl(module, character, flags);
|
||||
if ((_return_value == -1) && PyErr_Occurred()) {
|
||||
goto exit;
|
||||
|
@ -74,7 +70,7 @@ PyDoc_STRVAR(_sre_SRE_Pattern_match__doc__,
|
|||
"Matches zero or more characters at the beginning of the string.");
|
||||
|
||||
#define _SRE_SRE_PATTERN_MATCH_METHODDEF \
|
||||
{"match", (PyCFunction)_sre_SRE_Pattern_match, METH_FASTCALL, _sre_SRE_Pattern_match__doc__},
|
||||
{"match", (PyCFunction)_sre_SRE_Pattern_match, METH_FASTCALL|METH_KEYWORDS, _sre_SRE_Pattern_match__doc__},
|
||||
|
||||
static PyObject *
|
||||
_sre_SRE_Pattern_match_impl(PatternObject *self, PyObject *string,
|
||||
|
@ -110,7 +106,7 @@ PyDoc_STRVAR(_sre_SRE_Pattern_fullmatch__doc__,
|
|||
"Matches against all of the string");
|
||||
|
||||
#define _SRE_SRE_PATTERN_FULLMATCH_METHODDEF \
|
||||
{"fullmatch", (PyCFunction)_sre_SRE_Pattern_fullmatch, METH_FASTCALL, _sre_SRE_Pattern_fullmatch__doc__},
|
||||
{"fullmatch", (PyCFunction)_sre_SRE_Pattern_fullmatch, METH_FASTCALL|METH_KEYWORDS, _sre_SRE_Pattern_fullmatch__doc__},
|
||||
|
||||
static PyObject *
|
||||
_sre_SRE_Pattern_fullmatch_impl(PatternObject *self, PyObject *string,
|
||||
|
@ -148,7 +144,7 @@ PyDoc_STRVAR(_sre_SRE_Pattern_search__doc__,
|
|||
"Return None if no position in the string matches.");
|
||||
|
||||
#define _SRE_SRE_PATTERN_SEARCH_METHODDEF \
|
||||
{"search", (PyCFunction)_sre_SRE_Pattern_search, METH_FASTCALL, _sre_SRE_Pattern_search__doc__},
|
||||
{"search", (PyCFunction)_sre_SRE_Pattern_search, METH_FASTCALL|METH_KEYWORDS, _sre_SRE_Pattern_search__doc__},
|
||||
|
||||
static PyObject *
|
||||
_sre_SRE_Pattern_search_impl(PatternObject *self, PyObject *string,
|
||||
|
@ -184,7 +180,7 @@ PyDoc_STRVAR(_sre_SRE_Pattern_findall__doc__,
|
|||
"Return a list of all non-overlapping matches of pattern in string.");
|
||||
|
||||
#define _SRE_SRE_PATTERN_FINDALL_METHODDEF \
|
||||
{"findall", (PyCFunction)_sre_SRE_Pattern_findall, METH_FASTCALL, _sre_SRE_Pattern_findall__doc__},
|
||||
{"findall", (PyCFunction)_sre_SRE_Pattern_findall, METH_FASTCALL|METH_KEYWORDS, _sre_SRE_Pattern_findall__doc__},
|
||||
|
||||
static PyObject *
|
||||
_sre_SRE_Pattern_findall_impl(PatternObject *self, PyObject *string,
|
||||
|
@ -221,7 +217,7 @@ PyDoc_STRVAR(_sre_SRE_Pattern_finditer__doc__,
|
|||
"For each match, the iterator returns a match object.");
|
||||
|
||||
#define _SRE_SRE_PATTERN_FINDITER_METHODDEF \
|
||||
{"finditer", (PyCFunction)_sre_SRE_Pattern_finditer, METH_FASTCALL, _sre_SRE_Pattern_finditer__doc__},
|
||||
{"finditer", (PyCFunction)_sre_SRE_Pattern_finditer, METH_FASTCALL|METH_KEYWORDS, _sre_SRE_Pattern_finditer__doc__},
|
||||
|
||||
static PyObject *
|
||||
_sre_SRE_Pattern_finditer_impl(PatternObject *self, PyObject *string,
|
||||
|
@ -253,7 +249,7 @@ PyDoc_STRVAR(_sre_SRE_Pattern_scanner__doc__,
|
|||
"\n");
|
||||
|
||||
#define _SRE_SRE_PATTERN_SCANNER_METHODDEF \
|
||||
{"scanner", (PyCFunction)_sre_SRE_Pattern_scanner, METH_FASTCALL, _sre_SRE_Pattern_scanner__doc__},
|
||||
{"scanner", (PyCFunction)_sre_SRE_Pattern_scanner, METH_FASTCALL|METH_KEYWORDS, _sre_SRE_Pattern_scanner__doc__},
|
||||
|
||||
static PyObject *
|
||||
_sre_SRE_Pattern_scanner_impl(PatternObject *self, PyObject *string,
|
||||
|
@ -286,7 +282,7 @@ PyDoc_STRVAR(_sre_SRE_Pattern_split__doc__,
|
|||
"Split string by the occurrences of pattern.");
|
||||
|
||||
#define _SRE_SRE_PATTERN_SPLIT_METHODDEF \
|
||||
{"split", (PyCFunction)_sre_SRE_Pattern_split, METH_FASTCALL, _sre_SRE_Pattern_split__doc__},
|
||||
{"split", (PyCFunction)_sre_SRE_Pattern_split, METH_FASTCALL|METH_KEYWORDS, _sre_SRE_Pattern_split__doc__},
|
||||
|
||||
static PyObject *
|
||||
_sre_SRE_Pattern_split_impl(PatternObject *self, PyObject *string,
|
||||
|
@ -319,7 +315,7 @@ PyDoc_STRVAR(_sre_SRE_Pattern_sub__doc__,
|
|||
"Return the string obtained by replacing the leftmost non-overlapping occurrences of pattern in string by the replacement repl.");
|
||||
|
||||
#define _SRE_SRE_PATTERN_SUB_METHODDEF \
|
||||
{"sub", (PyCFunction)_sre_SRE_Pattern_sub, METH_FASTCALL, _sre_SRE_Pattern_sub__doc__},
|
||||
{"sub", (PyCFunction)_sre_SRE_Pattern_sub, METH_FASTCALL|METH_KEYWORDS, _sre_SRE_Pattern_sub__doc__},
|
||||
|
||||
static PyObject *
|
||||
_sre_SRE_Pattern_sub_impl(PatternObject *self, PyObject *repl,
|
||||
|
@ -352,7 +348,7 @@ PyDoc_STRVAR(_sre_SRE_Pattern_subn__doc__,
|
|||
"Return the tuple (new_string, number_of_subs_made) found by replacing the leftmost non-overlapping occurrences of pattern with the replacement repl.");
|
||||
|
||||
#define _SRE_SRE_PATTERN_SUBN_METHODDEF \
|
||||
{"subn", (PyCFunction)_sre_SRE_Pattern_subn, METH_FASTCALL, _sre_SRE_Pattern_subn__doc__},
|
||||
{"subn", (PyCFunction)_sre_SRE_Pattern_subn, METH_FASTCALL|METH_KEYWORDS, _sre_SRE_Pattern_subn__doc__},
|
||||
|
||||
static PyObject *
|
||||
_sre_SRE_Pattern_subn_impl(PatternObject *self, PyObject *repl,
|
||||
|
@ -401,7 +397,7 @@ PyDoc_STRVAR(_sre_SRE_Pattern___deepcopy____doc__,
|
|||
"\n");
|
||||
|
||||
#define _SRE_SRE_PATTERN___DEEPCOPY___METHODDEF \
|
||||
{"__deepcopy__", (PyCFunction)_sre_SRE_Pattern___deepcopy__, METH_FASTCALL, _sre_SRE_Pattern___deepcopy____doc__},
|
||||
{"__deepcopy__", (PyCFunction)_sre_SRE_Pattern___deepcopy__, METH_FASTCALL|METH_KEYWORDS, _sre_SRE_Pattern___deepcopy____doc__},
|
||||
|
||||
static PyObject *
|
||||
_sre_SRE_Pattern___deepcopy___impl(PatternObject *self, PyObject *memo);
|
||||
|
@ -431,7 +427,7 @@ PyDoc_STRVAR(_sre_compile__doc__,
|
|||
"\n");
|
||||
|
||||
#define _SRE_COMPILE_METHODDEF \
|
||||
{"compile", (PyCFunction)_sre_compile, METH_FASTCALL, _sre_compile__doc__},
|
||||
{"compile", (PyCFunction)_sre_compile, METH_FASTCALL|METH_KEYWORDS, _sre_compile__doc__},
|
||||
|
||||
static PyObject *
|
||||
_sre_compile_impl(PyObject *module, PyObject *pattern, int flags,
|
||||
|
@ -468,7 +464,7 @@ PyDoc_STRVAR(_sre_SRE_Match_expand__doc__,
|
|||
"Return the string obtained by doing backslash substitution on the string template, as done by the sub() method.");
|
||||
|
||||
#define _SRE_SRE_MATCH_EXPAND_METHODDEF \
|
||||
{"expand", (PyCFunction)_sre_SRE_Match_expand, METH_FASTCALL, _sre_SRE_Match_expand__doc__},
|
||||
{"expand", (PyCFunction)_sre_SRE_Match_expand, METH_FASTCALL|METH_KEYWORDS, _sre_SRE_Match_expand__doc__},
|
||||
|
||||
static PyObject *
|
||||
_sre_SRE_Match_expand_impl(MatchObject *self, PyObject *template);
|
||||
|
@ -501,7 +497,7 @@ PyDoc_STRVAR(_sre_SRE_Match_groups__doc__,
|
|||
" Is used for groups that did not participate in the match.");
|
||||
|
||||
#define _SRE_SRE_MATCH_GROUPS_METHODDEF \
|
||||
{"groups", (PyCFunction)_sre_SRE_Match_groups, METH_FASTCALL, _sre_SRE_Match_groups__doc__},
|
||||
{"groups", (PyCFunction)_sre_SRE_Match_groups, METH_FASTCALL|METH_KEYWORDS, _sre_SRE_Match_groups__doc__},
|
||||
|
||||
static PyObject *
|
||||
_sre_SRE_Match_groups_impl(MatchObject *self, PyObject *default_value);
|
||||
|
@ -534,7 +530,7 @@ PyDoc_STRVAR(_sre_SRE_Match_groupdict__doc__,
|
|||
" Is used for groups that did not participate in the match.");
|
||||
|
||||
#define _SRE_SRE_MATCH_GROUPDICT_METHODDEF \
|
||||
{"groupdict", (PyCFunction)_sre_SRE_Match_groupdict, METH_FASTCALL, _sre_SRE_Match_groupdict__doc__},
|
||||
{"groupdict", (PyCFunction)_sre_SRE_Match_groupdict, METH_FASTCALL|METH_KEYWORDS, _sre_SRE_Match_groupdict__doc__},
|
||||
|
||||
static PyObject *
|
||||
_sre_SRE_Match_groupdict_impl(MatchObject *self, PyObject *default_value);
|
||||
|
@ -570,7 +566,7 @@ static Py_ssize_t
|
|||
_sre_SRE_Match_start_impl(MatchObject *self, PyObject *group);
|
||||
|
||||
static PyObject *
|
||||
_sre_SRE_Match_start(MatchObject *self, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
|
||||
_sre_SRE_Match_start(MatchObject *self, PyObject **args, Py_ssize_t nargs)
|
||||
{
|
||||
PyObject *return_value = NULL;
|
||||
PyObject *group = NULL;
|
||||
|
@ -581,10 +577,6 @@ _sre_SRE_Match_start(MatchObject *self, PyObject **args, Py_ssize_t nargs, PyObj
|
|||
&group)) {
|
||||
goto exit;
|
||||
}
|
||||
|
||||
if (!_PyArg_NoStackKeywords("start", kwnames)) {
|
||||
goto exit;
|
||||
}
|
||||
_return_value = _sre_SRE_Match_start_impl(self, group);
|
||||
if ((_return_value == -1) && PyErr_Occurred()) {
|
||||
goto exit;
|
||||
|
@ -608,7 +600,7 @@ static Py_ssize_t
|
|||
_sre_SRE_Match_end_impl(MatchObject *self, PyObject *group);
|
||||
|
||||
static PyObject *
|
||||
_sre_SRE_Match_end(MatchObject *self, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
|
||||
_sre_SRE_Match_end(MatchObject *self, PyObject **args, Py_ssize_t nargs)
|
||||
{
|
||||
PyObject *return_value = NULL;
|
||||
PyObject *group = NULL;
|
||||
|
@ -619,10 +611,6 @@ _sre_SRE_Match_end(MatchObject *self, PyObject **args, Py_ssize_t nargs, PyObjec
|
|||
&group)) {
|
||||
goto exit;
|
||||
}
|
||||
|
||||
if (!_PyArg_NoStackKeywords("end", kwnames)) {
|
||||
goto exit;
|
||||
}
|
||||
_return_value = _sre_SRE_Match_end_impl(self, group);
|
||||
if ((_return_value == -1) && PyErr_Occurred()) {
|
||||
goto exit;
|
||||
|
@ -646,7 +634,7 @@ static PyObject *
|
|||
_sre_SRE_Match_span_impl(MatchObject *self, PyObject *group);
|
||||
|
||||
static PyObject *
|
||||
_sre_SRE_Match_span(MatchObject *self, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
|
||||
_sre_SRE_Match_span(MatchObject *self, PyObject **args, Py_ssize_t nargs)
|
||||
{
|
||||
PyObject *return_value = NULL;
|
||||
PyObject *group = NULL;
|
||||
|
@ -656,10 +644,6 @@ _sre_SRE_Match_span(MatchObject *self, PyObject **args, Py_ssize_t nargs, PyObje
|
|||
&group)) {
|
||||
goto exit;
|
||||
}
|
||||
|
||||
if (!_PyArg_NoStackKeywords("span", kwnames)) {
|
||||
goto exit;
|
||||
}
|
||||
return_value = _sre_SRE_Match_span_impl(self, group);
|
||||
|
||||
exit:
|
||||
|
@ -689,7 +673,7 @@ PyDoc_STRVAR(_sre_SRE_Match___deepcopy____doc__,
|
|||
"\n");
|
||||
|
||||
#define _SRE_SRE_MATCH___DEEPCOPY___METHODDEF \
|
||||
{"__deepcopy__", (PyCFunction)_sre_SRE_Match___deepcopy__, METH_FASTCALL, _sre_SRE_Match___deepcopy____doc__},
|
||||
{"__deepcopy__", (PyCFunction)_sre_SRE_Match___deepcopy__, METH_FASTCALL|METH_KEYWORDS, _sre_SRE_Match___deepcopy____doc__},
|
||||
|
||||
static PyObject *
|
||||
_sre_SRE_Match___deepcopy___impl(MatchObject *self, PyObject *memo);
|
||||
|
@ -745,4 +729,4 @@ _sre_SRE_Scanner_search(ScannerObject *self, PyObject *Py_UNUSED(ignored))
|
|||
{
|
||||
return _sre_SRE_Scanner_search_impl(self);
|
||||
}
|
||||
/*[clinic end generated code: output=ddfd6158e7ca39a3 input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=af7684e3e708200f input=a9049054013a1b77]*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue