Skip to content

Commit cb04a09

Browse files
GH-93207: Remove HAVE_STDARG_PROTOTYPES configure check for stdarg.h (#93215)
1 parent ddc4a78 commit cb04a09

19 files changed

+9
-171
lines changed

Doc/whatsnew/3.12.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,11 @@ Changes in the Python API
144144
Build Changes
145145
=============
146146

147+
* ``va_start()`` with two parameters, like ``va_start(args, format),``
148+
is now required to build Python.
149+
``va_start()`` is no longer called with a single parameter.
150+
(Contributed by Kumar Aditya in :gh:`93207`.)
151+
147152

148153
C API Changes
149154
=============
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
``va_start()`` with two parameters, like ``va_start(args, format),``
2+
is now required to build Python. ``va_start()`` is no longer called with a single parameter.
3+
Patch by Kumar Aditya.

Modules/_asynciomodule.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2643,11 +2643,7 @@ task_set_error_soon(TaskObj *task, PyObject *et, const char *format, ...)
26432643
PyObject* msg;
26442644

26452645
va_list vargs;
2646-
#ifdef HAVE_STDARG_PROTOTYPES
26472646
va_start(vargs, format);
2648-
#else
2649-
va_start(vargs);
2650-
#endif
26512647
msg = PyUnicode_FromFormatV(format, vargs);
26522648
va_end(vargs);
26532649

Modules/_hashopenssl.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -255,11 +255,7 @@ _setException(PyObject *exc, const char* altmsg, ...)
255255
const char *lib, *func, *reason;
256256
va_list vargs;
257257

258-
#ifdef HAVE_STDARG_PROTOTYPES
259258
va_start(vargs, altmsg);
260-
#else
261-
va_start(vargs);
262-
#endif
263259
if (!errcode) {
264260
if (altmsg == NULL) {
265261
PyErr_SetString(exc, "no reason supplied");

Objects/bytesobject.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -377,11 +377,7 @@ PyBytes_FromFormat(const char *format, ...)
377377
PyObject* ret;
378378
va_list vargs;
379379

380-
#ifdef HAVE_STDARG_PROTOTYPES
381380
va_start(vargs, format);
382-
#else
383-
va_start(vargs);
384-
#endif
385381
ret = PyBytes_FromFormatV(format, vargs);
386382
va_end(vargs);
387383
return ret;

Objects/exceptions.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3816,11 +3816,7 @@ _PyErr_TrySetFromCause(const char *format, ...)
38163816
Py_DECREF(tb);
38173817
}
38183818

3819-
#ifdef HAVE_STDARG_PROTOTYPES
38203819
va_start(vargs, format);
3821-
#else
3822-
va_start(vargs);
3823-
#endif
38243820
msg_prefix = PyUnicode_FromFormatV(format, vargs);
38253821
va_end(vargs);
38263822
if (msg_prefix == NULL) {

Objects/unicodeobject.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2708,11 +2708,7 @@ PyUnicode_FromFormat(const char *format, ...)
27082708
PyObject* ret;
27092709
va_list vargs;
27102710

2711-
#ifdef HAVE_STDARG_PROTOTYPES
27122711
va_start(vargs, format);
2713-
#else
2714-
va_start(vargs);
2715-
#endif
27162712
ret = PyUnicode_FromFormatV(format, vargs);
27172713
va_end(vargs);
27182714
return ret;

PC/pyconfig.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -569,9 +569,6 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */
569569
/* Define to 1 if you have the <signal.h> header file. */
570570
#define HAVE_SIGNAL_H 1
571571

572-
/* Define if you have the <stdarg.h> prototypes. */
573-
#define HAVE_STDARG_PROTOTYPES
574-
575572
/* Define if you have the <stddef.h> header file. */
576573
#define HAVE_STDDEF_H 1
577574

Parser/tokenizer.c

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1105,11 +1105,7 @@ static int
11051105
syntaxerror(struct tok_state *tok, const char *format, ...)
11061106
{
11071107
va_list vargs;
1108-
#ifdef HAVE_STDARG_PROTOTYPES
11091108
va_start(vargs, format);
1110-
#else
1111-
va_start(vargs);
1112-
#endif
11131109
int ret = _syntaxerror_range(tok, format, -1, -1, vargs);
11141110
va_end(vargs);
11151111
return ret;
@@ -1121,11 +1117,7 @@ syntaxerror_known_range(struct tok_state *tok,
11211117
const char *format, ...)
11221118
{
11231119
va_list vargs;
1124-
#ifdef HAVE_STDARG_PROTOTYPES
11251120
va_start(vargs, format);
1126-
#else
1127-
va_start(vargs);
1128-
#endif
11291121
int ret = _syntaxerror_range(tok, format, col_offset, end_col_offset, vargs);
11301122
va_end(vargs);
11311123
return ret;
@@ -1146,11 +1138,7 @@ parser_warn(struct tok_state *tok, PyObject *category, const char *format, ...)
11461138
{
11471139
PyObject *errmsg;
11481140
va_list vargs;
1149-
#ifdef HAVE_STDARG_PROTOTYPES
11501141
va_start(vargs, format);
1151-
#else
1152-
va_start(vargs);
1153-
#endif
11541142
errmsg = PyUnicode_FromFormatV(format, vargs);
11551143
va_end(vargs);
11561144
if (!errmsg) {

Python/_warnings.c

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1136,11 +1136,7 @@ PyErr_WarnFormat(PyObject *category, Py_ssize_t stack_level,
11361136
int res;
11371137
va_list vargs;
11381138

1139-
#ifdef HAVE_STDARG_PROTOTYPES
11401139
va_start(vargs, format);
1141-
#else
1142-
va_start(vargs);
1143-
#endif
11441140
res = _PyErr_WarnFormatV(NULL, category, stack_level, format, vargs);
11451141
va_end(vargs);
11461142
return res;
@@ -1153,11 +1149,7 @@ _PyErr_WarnFormat(PyObject *source, PyObject *category, Py_ssize_t stack_level,
11531149
int res;
11541150
va_list vargs;
11551151

1156-
#ifdef HAVE_STDARG_PROTOTYPES
11571152
va_start(vargs, format);
1158-
#else
1159-
va_start(vargs);
1160-
#endif
11611153
res = _PyErr_WarnFormatV(source, category, stack_level, format, vargs);
11621154
va_end(vargs);
11631155
return res;
@@ -1170,11 +1162,7 @@ PyErr_ResourceWarning(PyObject *source, Py_ssize_t stack_level,
11701162
int res;
11711163
va_list vargs;
11721164

1173-
#ifdef HAVE_STDARG_PROTOTYPES
11741165
va_start(vargs, format);
1175-
#else
1176-
va_start(vargs);
1177-
#endif
11781166
res = _PyErr_WarnFormatV(source, PyExc_ResourceWarning,
11791167
stack_level, format, vargs);
11801168
va_end(vargs);
@@ -1274,11 +1262,7 @@ PyErr_WarnExplicitFormat(PyObject *category,
12741262
goto exit;
12751263
}
12761264

1277-
#ifdef HAVE_STDARG_PROTOTYPES
12781265
va_start(vargs, format);
1279-
#else
1280-
va_start(vargs);
1281-
#endif
12821266
message = PyUnicode_FromFormatV(format, vargs);
12831267
if (message != NULL) {
12841268
PyObject *res;

0 commit comments

Comments
 (0)