]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
GH-93207: Remove HAVE_STDARG_PROTOTYPES configure check for stdarg.h (#93215)
authorKumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
Fri, 27 May 2022 11:30:45 +0000 (17:00 +0530)
committerGitHub <noreply@github.com>
Fri, 27 May 2022 11:30:45 +0000 (13:30 +0200)
19 files changed:
Doc/whatsnew/3.12.rst
Misc/NEWS.d/next/Build/2022-05-25-13-56-00.gh-issue-93207.B9Rubf.rst [new file with mode: 0644]
Modules/_asynciomodule.c
Modules/_hashopenssl.c
Objects/bytesobject.c
Objects/exceptions.c
Objects/unicodeobject.c
PC/pyconfig.h
Parser/tokenizer.c
Python/_warnings.c
Python/compile.c
Python/errors.c
Python/getargs.c
Python/hamt.c
Python/pylifecycle.c
Python/sysmodule.c
configure
configure.ac
pyconfig.h.in

index fd487848f09a34aa004f67faf9877dac495bdda1..4493476cb031837b1de759643d43cc4afae820f4 100644 (file)
@@ -144,6 +144,11 @@ Changes in the Python API
 Build Changes
 =============
 
+* ``va_start()`` with two parameters, like ``va_start(args, format),``
+  is now required to build Python.
+  ``va_start()`` is no longer called with a single parameter.
+  (Contributed by Kumar Aditya in :gh:`93207`.)
+
 
 C API Changes
 =============
diff --git a/Misc/NEWS.d/next/Build/2022-05-25-13-56-00.gh-issue-93207.B9Rubf.rst b/Misc/NEWS.d/next/Build/2022-05-25-13-56-00.gh-issue-93207.B9Rubf.rst
new file mode 100644 (file)
index 0000000..cd462bb
--- /dev/null
@@ -0,0 +1,3 @@
+``va_start()`` with two parameters, like ``va_start(args, format),``
+is now required to build Python. ``va_start()`` is no longer called with a single parameter.
+Patch by Kumar Aditya.
index 5fa722305757d414d0216fab7bb678dcddbdc1f3..c2b0e242e277f18e0294eccf235d00502692c23f 100644 (file)
@@ -2643,11 +2643,7 @@ task_set_error_soon(TaskObj *task, PyObject *et, const char *format, ...)
     PyObject* msg;
 
     va_list vargs;
-#ifdef HAVE_STDARG_PROTOTYPES
     va_start(vargs, format);
-#else
-    va_start(vargs);
-#endif
     msg = PyUnicode_FromFormatV(format, vargs);
     va_end(vargs);
 
index 203366e380d4e72e3a27bdc0fe0e4338a2ebec97..38776edf5f9fdf5cb1963ae64d64bcbff462ce75 100644 (file)
@@ -255,11 +255,7 @@ _setException(PyObject *exc, const char* altmsg, ...)
     const char *lib, *func, *reason;
     va_list vargs;
 
-#ifdef HAVE_STDARG_PROTOTYPES
     va_start(vargs, altmsg);
-#else
-    va_start(vargs);
-#endif
     if (!errcode) {
         if (altmsg == NULL) {
             PyErr_SetString(exc, "no reason supplied");
index 1dfa1d57cf65a16057b48801acf33035833d03e1..80660881920fb752082a36d974723a3626b77d04 100644 (file)
@@ -377,11 +377,7 @@ PyBytes_FromFormat(const char *format, ...)
     PyObject* ret;
     va_list vargs;
 
-#ifdef HAVE_STDARG_PROTOTYPES
     va_start(vargs, format);
-#else
-    va_start(vargs);
-#endif
     ret = PyBytes_FromFormatV(format, vargs);
     va_end(vargs);
     return ret;
index cf8258b0e244bb629349feec31ebd449f1e3176e..e212e02352efb37e57a792c442598206b9788926 100644 (file)
@@ -3816,11 +3816,7 @@ _PyErr_TrySetFromCause(const char *format, ...)
         Py_DECREF(tb);
     }
 
-#ifdef HAVE_STDARG_PROTOTYPES
     va_start(vargs, format);
-#else
-    va_start(vargs);
-#endif
     msg_prefix = PyUnicode_FromFormatV(format, vargs);
     va_end(vargs);
     if (msg_prefix == NULL) {
index 3acbf54f1c0b25ab32b0848b7584f51436835a99..f712fbfa71d36827675f1009f57381d860e116e5 100644 (file)
@@ -2708,11 +2708,7 @@ PyUnicode_FromFormat(const char *format, ...)
     PyObject* ret;
     va_list vargs;
 
-#ifdef HAVE_STDARG_PROTOTYPES
     va_start(vargs, format);
-#else
-    va_start(vargs);
-#endif
     ret = PyUnicode_FromFormatV(format, vargs);
     va_end(vargs);
     return ret;
index 9dfe71bacabd14413e85183e406e7309140cfaa4..2ddd5847f9c8a760f1062161eaa29f557646d47b 100644 (file)
@@ -569,9 +569,6 @@ Py_NO_ENABLE_SHARED to find out.  Also support MS_NO_COREDLL for b/w compat */
 /* Define to 1 if you have the <signal.h> header file. */
 #define HAVE_SIGNAL_H 1
 
-/* Define if you have the <stdarg.h> prototypes.  */
-#define HAVE_STDARG_PROTOTYPES
-
 /* Define if you have the <stddef.h> header file.  */
 #define HAVE_STDDEF_H 1
 
index b34dade8f6d9b89a8609909432a5ba267f37678c..d5b549c8706ce5e9c59fe08cd4485f380fbc6d4d 100644 (file)
@@ -1105,11 +1105,7 @@ static int
 syntaxerror(struct tok_state *tok, const char *format, ...)
 {
     va_list vargs;
-#ifdef HAVE_STDARG_PROTOTYPES
     va_start(vargs, format);
-#else
-    va_start(vargs);
-#endif
     int ret = _syntaxerror_range(tok, format, -1, -1, vargs);
     va_end(vargs);
     return ret;
@@ -1121,11 +1117,7 @@ syntaxerror_known_range(struct tok_state *tok,
                         const char *format, ...)
 {
     va_list vargs;
-#ifdef HAVE_STDARG_PROTOTYPES
     va_start(vargs, format);
-#else
-    va_start(vargs);
-#endif
     int ret = _syntaxerror_range(tok, format, col_offset, end_col_offset, vargs);
     va_end(vargs);
     return ret;
@@ -1146,11 +1138,7 @@ parser_warn(struct tok_state *tok, PyObject *category, const char *format, ...)
 {
     PyObject *errmsg;
     va_list vargs;
-#ifdef HAVE_STDARG_PROTOTYPES
     va_start(vargs, format);
-#else
-    va_start(vargs);
-#endif
     errmsg = PyUnicode_FromFormatV(format, vargs);
     va_end(vargs);
     if (!errmsg) {
index 942308b357e338188d6a475907a656b44cbb3322..085ca4506baaed79ce032b548934009543fd4422 100644 (file)
@@ -1136,11 +1136,7 @@ PyErr_WarnFormat(PyObject *category, Py_ssize_t stack_level,
     int res;
     va_list vargs;
 
-#ifdef HAVE_STDARG_PROTOTYPES
     va_start(vargs, format);
-#else
-    va_start(vargs);
-#endif
     res = _PyErr_WarnFormatV(NULL, category, stack_level, format, vargs);
     va_end(vargs);
     return res;
@@ -1153,11 +1149,7 @@ _PyErr_WarnFormat(PyObject *source, PyObject *category, Py_ssize_t stack_level,
     int res;
     va_list vargs;
 
-#ifdef HAVE_STDARG_PROTOTYPES
     va_start(vargs, format);
-#else
-    va_start(vargs);
-#endif
     res = _PyErr_WarnFormatV(source, category, stack_level, format, vargs);
     va_end(vargs);
     return res;
@@ -1170,11 +1162,7 @@ PyErr_ResourceWarning(PyObject *source, Py_ssize_t stack_level,
     int res;
     va_list vargs;
 
-#ifdef HAVE_STDARG_PROTOTYPES
     va_start(vargs, format);
-#else
-    va_start(vargs);
-#endif
     res = _PyErr_WarnFormatV(source, PyExc_ResourceWarning,
                              stack_level, format, vargs);
     va_end(vargs);
@@ -1274,11 +1262,7 @@ PyErr_WarnExplicitFormat(PyObject *category,
             goto exit;
     }
 
-#ifdef HAVE_STDARG_PROTOTYPES
     va_start(vargs, format);
-#else
-    va_start(vargs);
-#endif
     message = PyUnicode_FromFormatV(format, vargs);
     if (message != NULL) {
         PyObject *res;
index d8f859e7533a450bfece46eed2e5252a9a88c41f..541fa4c9a12b983cc21dc815332b281d373211f4 100644 (file)
@@ -6094,11 +6094,7 @@ static int
 compiler_error(struct compiler *c, const char *format, ...)
 {
     va_list vargs;
-#ifdef HAVE_STDARG_PROTOTYPES
     va_start(vargs, format);
-#else
-    va_start(vargs);
-#endif
     PyObject *msg = PyUnicode_FromFormatV(format, vargs);
     va_end(vargs);
     if (msg == NULL) {
@@ -6131,11 +6127,7 @@ static int
 compiler_warn(struct compiler *c, const char *format, ...)
 {
     va_list vargs;
-#ifdef HAVE_STDARG_PROTOTYPES
     va_start(vargs, format);
-#else
-    va_start(vargs);
-#endif
     PyObject *msg = PyUnicode_FromFormatV(format, vargs);
     va_end(vargs);
     if (msg == NULL) {
index 3eb8a5ef04d284df352360430b91108d15f74c46..b6b5d9b046ce851fe1f9673e08a264b1a176cddb 100644 (file)
@@ -688,11 +688,7 @@ _PyErr_FormatFromCauseTstate(PyThreadState *tstate, PyObject *exception,
                              const char *format, ...)
 {
     va_list vargs;
-#ifdef HAVE_STDARG_PROTOTYPES
     va_start(vargs, format);
-#else
-    va_start(vargs);
-#endif
     _PyErr_FormatVFromCause(tstate, exception, format, vargs);
     va_end(vargs);
     return NULL;
@@ -703,11 +699,7 @@ _PyErr_FormatFromCause(PyObject *exception, const char *format, ...)
 {
     PyThreadState *tstate = _PyThreadState_GET();
     va_list vargs;
-#ifdef HAVE_STDARG_PROTOTYPES
     va_start(vargs, format);
-#else
-    va_start(vargs);
-#endif
     _PyErr_FormatVFromCause(tstate, exception, format, vargs);
     va_end(vargs);
     return NULL;
@@ -1096,11 +1088,7 @@ _PyErr_Format(PyThreadState *tstate, PyObject *exception,
               const char *format, ...)
 {
     va_list vargs;
-#ifdef HAVE_STDARG_PROTOTYPES
     va_start(vargs, format);
-#else
-    va_start(vargs);
-#endif
     _PyErr_FormatV(tstate, exception, format, vargs);
     va_end(vargs);
     return NULL;
@@ -1112,11 +1100,7 @@ PyErr_Format(PyObject *exception, const char *format, ...)
 {
     PyThreadState *tstate = _PyThreadState_GET();
     va_list vargs;
-#ifdef HAVE_STDARG_PROTOTYPES
     va_start(vargs, format);
-#else
-    va_start(vargs);
-#endif
     _PyErr_FormatV(tstate, exception, format, vargs);
     va_end(vargs);
     return NULL;
index ed3ffdafe37cdfde4f3c060bde00c18f26fa688b..fb4a5124beab8a6bf429aee9abfed068c25b4236 100644 (file)
@@ -2792,11 +2792,7 @@ PyArg_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t m
     stack = _PyTuple_ITEMS(args);
     nargs = PyTuple_GET_SIZE(args);
 
-#ifdef HAVE_STDARG_PROTOTYPES
     va_start(vargs, max);
-#else
-    va_start(vargs);
-#endif
     retval = unpack_stack(stack, nargs, name, min, max, vargs);
     va_end(vargs);
     return retval;
@@ -2809,11 +2805,7 @@ _PyArg_UnpackStack(PyObject *const *args, Py_ssize_t nargs, const char *name,
     int retval;
     va_list vargs;
 
-#ifdef HAVE_STDARG_PROTOTYPES
     va_start(vargs, max);
-#else
-    va_start(vargs);
-#endif
     retval = unpack_stack(args, nargs, name, min, max, vargs);
     va_end(vargs);
     return retval;
index 908c25318703143a0bd17740643b43699822d005..3aa31c625824cbd4265c4df2475278872d5a7389 100644 (file)
@@ -496,11 +496,7 @@ _hamt_dump_format(_PyUnicodeWriter *writer, const char *format, ...)
     int ret;
 
     va_list vargs;
-#ifdef HAVE_STDARG_PROTOTYPES
     va_start(vargs, format);
-#else
-    va_start(vargs);
-#endif
     msg = PyUnicode_FromFormatV(format, vargs);
     va_end(vargs);
 
index 8644b5b68b6c571836774456874e200e25627556..42a058181dd693234b472e85881b5d6776f5a930 100644 (file)
@@ -2838,11 +2838,7 @@ _Py_FatalErrorFormat(const char *func, const char *format, ...)
     }
 
     va_list vargs;
-#ifdef HAVE_STDARG_PROTOTYPES
     va_start(vargs, format);
-#else
-    va_start(vargs);
-#endif
     vfprintf(stream, format, vargs);
     va_end(vargs);
 
index 4f8b4cc17f2c1a6dc6726f37f02273c42e42ed2f..b9cae15568d0f5214617c118c30f06f9085450ff 100644 (file)
@@ -292,11 +292,7 @@ _PySys_Audit(PyThreadState *tstate, const char *event,
              const char *argFormat, ...)
 {
     va_list vargs;
-#ifdef HAVE_STDARG_PROTOTYPES
     va_start(vargs, argFormat);
-#else
-    va_start(vargs);
-#endif
     int res = sys_audit_tstate(tstate, event, argFormat, vargs);
     va_end(vargs);
     return res;
@@ -307,11 +303,7 @@ PySys_Audit(const char *event, const char *argFormat, ...)
 {
     PyThreadState *tstate = _PyThreadState_GET();
     va_list vargs;
-#ifdef HAVE_STDARG_PROTOTYPES
     va_start(vargs, argFormat);
-#else
-    va_start(vargs);
-#endif
     int res = sys_audit_tstate(tstate, event, argFormat, vargs);
     va_end(vargs);
     return res;
index c72fc4afdb9e68329cf90f4a166d0bb74fbe4796..04f0c4e0e884287998b760e0716b0e4e6280e159 100755 (executable)
--- a/configure
+++ b/configure
@@ -18416,52 +18416,6 @@ if test "x$ac_cv_function_prototypes" = xyes; then :
 $as_echo "#define HAVE_PROTOTYPES 1" >>confdefs.h
 
 
-fi
-
-works=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for variable length prototypes and stdarg.h" >&5
-$as_echo_n "checking for variable length prototypes and stdarg.h... " >&6; }
-if ${ac_cv_stdarg_prototypes+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#include <stdarg.h>
-int foo(int x, ...) {
-       va_list va;
-       va_start(va, x);
-       va_arg(va, int);
-       va_arg(va, char *);
-       va_arg(va, double);
-       return 0;
-}
-
-int
-main ()
-{
-return foo(10, "", 3.14);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_stdarg_prototypes=yes
-else
-  ac_cv_stdarg_prototypes=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_stdarg_prototypes" >&5
-$as_echo "$ac_cv_stdarg_prototypes" >&6; }
-if test "x$ac_cv_stdarg_prototypes" = xyes; then :
-
-
-$as_echo "#define HAVE_STDARG_PROTOTYPES 1" >>confdefs.h
-
-
 fi
 
 
index a8d499df2f16dcc3a210e8376fa456ffdd02d93a..9b5926d79d44e9b47a1ba6803e52d450acf00bc9 100644 (file)
@@ -1947,7 +1947,7 @@ AS_CASE([$ac_sys_system],
     dnl build with WASM debug info if either Py_DEBUG is set or the target is
     dnl node-debug or browser-debug.
     AS_VAR_IF([Py_DEBUG], [yes], [wasm_debug=yes], [wasm_debug=no])
-    
+
     dnl Start with 20 MB and allow to grow
     AS_VAR_APPEND([LDFLAGS_NODIST], [" -sALLOW_MEMORY_GROWTH -sTOTAL_MEMORY=20971520"])
 
@@ -5022,27 +5022,6 @@ AS_VAR_IF([ac_cv_function_prototypes], [yes], [
      [Define if your compiler supports function prototype])
 ])
 
-works=no
-AC_CACHE_CHECK([for variable length prototypes and stdarg.h], [ac_cv_stdarg_prototypes], [
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <stdarg.h>
-int foo(int x, ...) {
-       va_list va;
-       va_start(va, x);
-       va_arg(va, int);
-       va_arg(va, char *);
-       va_arg(va, double);
-       return 0;
-}
-]], [[return foo(10, "", 3.14);]])],
-  [ac_cv_stdarg_prototypes=yes], [ac_cv_stdarg_prototypes=no])
-])
-AS_VAR_IF([ac_cv_stdarg_prototypes], [yes], [
-  AC_DEFINE(HAVE_STDARG_PROTOTYPES, 1,
-   [Define if your compiler supports variable length function prototypes
-   (e.g. void fprintf(FILE *, char *, ...);) *and* <stdarg.h>])
-])
-
 
 # check for socketpair
 PY_CHECK_FUNC([socketpair], [
index b244ed233d63ae8a950e55424574f8e02f5fff67..a3bbbb894fd566a2e60ed8138f51f31e50686021 100644 (file)
 /* Define if you have struct stat.st_mtimensec */
 #undef HAVE_STAT_TV_NSEC2
 
-/* Define if your compiler supports variable length function prototypes (e.g.
-   void fprintf(FILE *, char *, ...);) *and* <stdarg.h> */
-#undef HAVE_STDARG_PROTOTYPES
-
 /* Define to 1 if you have the <stdint.h> header file. */
 #undef HAVE_STDINT_H