This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx-apps.git


The following commit(s) were added to refs/heads/master by this push:
     new d7ed69200 interpreters/python: Avoid warnings that could be treated as 
errors
d7ed69200 is described below

commit d7ed69200fe61d47ee5211777728f2e03422a8f3
Author: Tiago Medicci <[email protected]>
AuthorDate: Tue Dec 10 12:06:53 2024 -0300

    interpreters/python: Avoid warnings that could be treated as errors
    
    This commit disables some warnings when building CPython to avoid
    CI failing when `EXTRAFLAGS="-Wno-cpp -Werror"` is set.
---
 interpreters/python/Makefile                       | 20 +++++++-----
 interpreters/python/config.site                    |  1 +
 ...-workaround-newlib-resource.h-limitations.patch |  6 ++--
 ...-uint32_t-unsigned-int-type-mismatch-issu.patch |  6 ++--
 ...assets.py-for-generating-an-archive-of-py.patch |  5 +--
 .../0004-recognize-nuttx-as-a-supported-OS.patch   |  5 +--
 ...ix-Builds-Without-HAVE_DYNAMIC_LOADING-Se.patch |  5 +--
 ...name-to-avoid-conflict-with-nuttx-unused_.patch |  5 +--
 .../python/patch/0007-undef-atexit_register.patch  |  6 ++--
 .../python/patch/0008-declare-struct-timeval.patch |  6 ++--
 ...tx-sys-select-header-to-define-FD_SETSIZE.patch |  5 +--
 ...-the-d_ino-member-of-the-structure-dirent.patch | 36 +++++++++++++++++-----
 ...inition-warning-if-UNUSED-is-already-defi.patch | 26 ++++++++++++++++
 13 files changed, 100 insertions(+), 32 deletions(-)

diff --git a/interpreters/python/Makefile b/interpreters/python/Makefile
index 80db1722e..e3cda75df 100644
--- a/interpreters/python/Makefile
+++ b/interpreters/python/Makefile
@@ -43,6 +43,18 @@ 
TARGETLIBPYTHON=$(TARGETINSTALL)/libpython$(CPYTHON_VERSION_MINOR).a
 TARGETMODULESPACK=$(TARGETBUILD)/lib/python$(shell echo 
$(CPYTHON_VERSION_MINOR) | tr -d .).zip
 TARGETMODULES=$(TARGETINSTALL)/lib/
 
+CFLAGS += ${INCDIR_PREFIX}$(CPYTHON_PATH)$(DELIM)Include
+CFLAGS += ${INCDIR_PREFIX}$(CPYTHON_PATH)$(DELIM)Test
+CFLAGS += ${INCDIR_PREFIX}$(CPYTHON_PATH)$(DELIM)Include$(DELIM)internal
+CFLAGS += ${INCDIR_PREFIX}$(APPDIR)$(DELIM)system
+CFLAGS += ${INCDIR_PREFIX}$(APPDIR)$(DELIM)system$(DELIM)zlib$(DELIM)zlib
+CFLAGS += ${INCDIR_PREFIX}$(TARGETBUILD)
+CFLAGS += -Wno-shadow -Wno-undef -Wno-format -Wno-builtin-macro-redefined
+CFLAGS += -Wno-type-limits -Wno-implicit-fallthrough -Wno-char-subscripts
+CFLAGS += -Wno-sign-compare -Wno-unused-const-variable -Wno-unused-function
+CFLAGS += -Wno-unused-variable -Wno-overflow -Wno-unused-but-set-variable
+CFLAGS += -Wno-strict-prototypes
+
 DEPPATH += --dep-path $(CPYTHON_UNPACKNAME)$(DELIM)Programs
 VPATH   += :$(CPYTHON_UNPACKNAME)$(DELIM)Programs
 
@@ -65,6 +77,7 @@ $(CPYTHON_UNPACKNAME): $(CPYTHON_ZIP)
        $(Q) patch -p1 -d $(CPYTHON_UNPACKNAME) < 
patch$(DELIM)0008-declare-struct-timeval.patch
        $(Q) patch -p1 -d $(CPYTHON_UNPACKNAME) < 
patch$(DELIM)0009-include-nuttx-sys-select-header-to-define-FD_SETSIZE.patch
        $(Q) patch -p1 -d $(CPYTHON_UNPACKNAME) < 
patch$(DELIM)0010-check-for-the-d_ino-member-of-the-structure-dirent.patch
+       $(Q) patch -p1 -d $(CPYTHON_UNPACKNAME) < 
patch$(DELIM)0011-avoid-redefinition-warning-if-UNUSED-is-already-defi.patch
 
 $(HOSTPYTHON):
        mkdir -p $(HOSTBUILD)
@@ -123,13 +136,6 @@ $(TARGETLIBPYTHON): $(TARGETBUILD)/Makefile
        $(Q) ( cp $(TARGETBUILD)/libpython$(CPYTHON_VERSION_MINOR).a 
$(TARGETLIBPYTHON) )
        $(Q) $(UNPACK) $(TARGETMODULESPACK) -d 
$(TARGETMODULES)/python$(CPYTHON_VERSION_MINOR)
 
-CFLAGS += ${INCDIR_PREFIX}$(CPYTHON_PATH)$(DELIM)Include
-CFLAGS += ${INCDIR_PREFIX}$(CPYTHON_PATH)$(DELIM)Test
-CFLAGS += ${INCDIR_PREFIX}$(CPYTHON_PATH)$(DELIM)Include$(DELIM)internal
-CFLAGS += ${INCDIR_PREFIX}$(APPDIR)$(DELIM)system
-CFLAGS += ${INCDIR_PREFIX}$(APPDIR)$(DELIM)system$(DELIM)zlib$(DELIM)zlib
-CFLAGS += ${INCDIR_PREFIX}$(TARGETBUILD)
-
 MODULE    = $(CONFIG_INTERPRETER_CPYTHON)
 
 PROGNAME  += $(CONFIG_INTERPRETER_CPYTHON_PROGNAME)
diff --git a/interpreters/python/config.site b/interpreters/python/config.site
index d806ba564..c99b73e56 100644
--- a/interpreters/python/config.site
+++ b/interpreters/python/config.site
@@ -18,4 +18,5 @@ export ac_cv_func_clock="yes"
 export ac_cv_func_fork="yes"
 export ac_cv_func_waitpid="yes"
 export ac_cv_func_pipe="yes"
+export ac_cv_enable_strict_prototypes_warning="no"
 export MODULE_BUILDTYPE="static"
diff --git 
a/interpreters/python/patch/0001-workaround-newlib-resource.h-limitations.patch 
b/interpreters/python/patch/0001-workaround-newlib-resource.h-limitations.patch
index dfb9d437a..d2ef33c3c 100644
--- 
a/interpreters/python/patch/0001-workaround-newlib-resource.h-limitations.patch
+++ 
b/interpreters/python/patch/0001-workaround-newlib-resource.h-limitations.patch
@@ -1,12 +1,14 @@
-From b2ac42cefa3747c7f7a9066fceed834286e829af Mon Sep 17 00:00:00 2001
+From 3917fd37644948096c6bebf53e701b59fa527cf5 Mon Sep 17 00:00:00 2001
 From: Ivan Grokhotkov <[email protected]>
 Date: Tue, 22 Oct 2024 23:58:17 +0200
-Subject: [PATCH 01/10] workaround newlib resource.h limitations
+Subject: [PATCH 01/11] workaround newlib resource.h limitations
 
 configure script checks if resource.h is available but doesn't check
 if it defines all the necessary functions.
 
 Temporary workaround until these functions are added to IDF.
+
+Signed-off-by: Tiago Medicci <[email protected]>
 ---
  Modules/faulthandler.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
diff --git 
a/interpreters/python/patch/0002-fix-various-uint32_t-unsigned-int-type-mismatch-issu.patch
 
b/interpreters/python/patch/0002-fix-various-uint32_t-unsigned-int-type-mismatch-issu.patch
index 0bf12755a..4dcef4e78 100644
--- 
a/interpreters/python/patch/0002-fix-various-uint32_t-unsigned-int-type-mismatch-issu.patch
+++ 
b/interpreters/python/patch/0002-fix-various-uint32_t-unsigned-int-type-mismatch-issu.patch
@@ -1,12 +1,14 @@
-From 036b39478c2419af1e0a64763b9ac741cf886387 Mon Sep 17 00:00:00 2001
+From 562138b0486ad050b5ce601d434910973ff6f094 Mon Sep 17 00:00:00 2001
 From: Ivan Grokhotkov <[email protected]>
 Date: Wed, 23 Oct 2024 16:48:49 +0200
-Subject: [PATCH 02/10] fix various uint32_t/'unsigned int' type mismatch
+Subject: [PATCH 02/11] fix various uint32_t/'unsigned int' type mismatch
  issues
 
 In a few places existing code assumes that uint32_t == unsigned int.
 Since in Xtensa and RISC-V bare metal toolchains uint32_t is instead
 'unsigned long', the original code fails to build.
+
+Signed-off-by: Tiago Medicci <[email protected]>
 ---
  Modules/zlibmodule.c | 28 ++++++++++++++--------------
  Objects/typeobject.c |  2 +-
diff --git 
a/interpreters/python/patch/0003-reuse-wasm_assets.py-for-generating-an-archive-of-py.patch
 
b/interpreters/python/patch/0003-reuse-wasm_assets.py-for-generating-an-archive-of-py.patch
index f8e03a2cf..83b46c6d5 100644
--- 
a/interpreters/python/patch/0003-reuse-wasm_assets.py-for-generating-an-archive-of-py.patch
+++ 
b/interpreters/python/patch/0003-reuse-wasm_assets.py-for-generating-an-archive-of-py.patch
@@ -1,7 +1,7 @@
-From 4af7a9b726ca2c8ac330b51f98acf0a103f6fa71 Mon Sep 17 00:00:00 2001
+From dcc6b2b6aa396f96e7c9efe3e793d96c7004ef4f Mon Sep 17 00:00:00 2001
 From: Ivan Grokhotkov <[email protected]>
 Date: Wed, 23 Oct 2024 16:54:39 +0200
-Subject: [PATCH 03/10] reuse wasm_assets.py for generating an archive of
+Subject: [PATCH 03/11] reuse wasm_assets.py for generating an archive of
  python lib dir
 
 wasm_assets.py is a useful script to prepare the smallest possible
@@ -12,6 +12,7 @@ This patch adds nuttx to the supported OS list in the script, 
as well
 as fixes what I think is a bug in path calculation.
 
 Co-authored-by: Tiago Medicci Serrano <[email protected]>
+Signed-off-by: Tiago Medicci <[email protected]>
 ---
  Tools/wasm/wasm_assets.py | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
diff --git 
a/interpreters/python/patch/0004-recognize-nuttx-as-a-supported-OS.patch 
b/interpreters/python/patch/0004-recognize-nuttx-as-a-supported-OS.patch
index 6d8531ce6..d187e248c 100644
--- a/interpreters/python/patch/0004-recognize-nuttx-as-a-supported-OS.patch
+++ b/interpreters/python/patch/0004-recognize-nuttx-as-a-supported-OS.patch
@@ -1,13 +1,14 @@
-From 1bb8d824a4b4e4b38c3541b7c26c5d71f0970266 Mon Sep 17 00:00:00 2001
+From ff067ccb26c91de352de362a25d87bcbabe924dc Mon Sep 17 00:00:00 2001
 From: Ivan Grokhotkov <[email protected]>
 Date: Wed, 23 Oct 2024 16:55:53 +0200
-Subject: [PATCH 04/10] recognize *-*-nuttx as a supported OS
+Subject: [PATCH 04/11] recognize *-*-nuttx as a supported OS
 
 cpython's configure script bails out when cross-compiling for an
 unknown OS, so we have to add "nuttx" to the list, even though it
 is not used almost anywhere else.
 
 Co-authored-by: Tiago Medicci Serrano <[email protected]>
+Signed-off-by: Tiago Medicci <[email protected]>
 ---
  config.sub   | 2 +-
  configure    | 3 +++
diff --git 
a/interpreters/python/patch/0005-gh-122907-Fix-Builds-Without-HAVE_DYNAMIC_LOADING-Se.patch
 
b/interpreters/python/patch/0005-gh-122907-Fix-Builds-Without-HAVE_DYNAMIC_LOADING-Se.patch
index cf25d88c2..52bbd6b68 100644
--- 
a/interpreters/python/patch/0005-gh-122907-Fix-Builds-Without-HAVE_DYNAMIC_LOADING-Se.patch
+++ 
b/interpreters/python/patch/0005-gh-122907-Fix-Builds-Without-HAVE_DYNAMIC_LOADING-Se.patch
@@ -1,13 +1,14 @@
-From cd8af3cbc9881e5a4a7c0644c8844478c8d0245d Mon Sep 17 00:00:00 2001
+From 7e646549488f2d3de4cf1e04ad975625342a9218 Mon Sep 17 00:00:00 2001
 From: Eric Snow <[email protected]>
 Date: Tue, 13 Aug 2024 14:44:57 -0600
-Subject: [PATCH 05/10] gh-122907: Fix Builds Without HAVE_DYNAMIC_LOADING Set
+Subject: [PATCH 05/11] gh-122907: Fix Builds Without HAVE_DYNAMIC_LOADING Set
  (gh-122952)
 
 As of 529a160 (gh-118204), building with HAVE_DYNAMIC_LOADING stopped working. 
 This is a minimal fix just to get builds working again.  There are actually a 
number of long-standing deficiencies with HAVE_DYNAMIC_LOADING builds that need 
to be resolved separately.
 (cherry picked from commit ee1b8ce26e700350e47a5f65201097121c41912e)
 
 Co-authored-by: Eric Snow <[email protected]>
+Signed-off-by: Tiago Medicci <[email protected]>
 ---
  Include/internal/pycore_importdl.h               |  4 ++++
  Lib/importlib/_bootstrap_external.py             | 16 ++++++++--------
diff --git 
a/interpreters/python/patch/0006-change-var-name-to-avoid-conflict-with-nuttx-unused_.patch
 
b/interpreters/python/patch/0006-change-var-name-to-avoid-conflict-with-nuttx-unused_.patch
index 641233bf4..a7787b4ff 100644
--- 
a/interpreters/python/patch/0006-change-var-name-to-avoid-conflict-with-nuttx-unused_.patch
+++ 
b/interpreters/python/patch/0006-change-var-name-to-avoid-conflict-with-nuttx-unused_.patch
@@ -1,9 +1,10 @@
-From d424766bff74fb34a80a09c6e2ed8d9b40350bb8 Mon Sep 17 00:00:00 2001
+From 82a3c7c021324e4245289c565b2d379b83ed4be3 Mon Sep 17 00:00:00 2001
 From: Tiago Medicci <[email protected]>
 Date: Wed, 13 Nov 2024 14:20:36 -0300
-Subject: [PATCH 06/10] change var name to avoid conflict with nuttx
+Subject: [PATCH 06/11] change var name to avoid conflict with nuttx
  unused_data macro
 
+Signed-off-by: Tiago Medicci <[email protected]>
 ---
  Modules/zlibmodule.c | 42 +++++++++++++++++++++---------------------
  1 file changed, 21 insertions(+), 21 deletions(-)
diff --git a/interpreters/python/patch/0007-undef-atexit_register.patch 
b/interpreters/python/patch/0007-undef-atexit_register.patch
index 266f704a9..7003f155f 100644
--- a/interpreters/python/patch/0007-undef-atexit_register.patch
+++ b/interpreters/python/patch/0007-undef-atexit_register.patch
@@ -1,10 +1,12 @@
-From 1b802bfd159a6a9766ca5834af90f55d54285b4b Mon Sep 17 00:00:00 2001
+From 7eab2315d75d5e78e67e0b049ebb2fc71914b7ea Mon Sep 17 00:00:00 2001
 From: Tiago Medicci <[email protected]>
 Date: Wed, 13 Nov 2024 14:22:04 -0300
-Subject: [PATCH 07/10] undef atexit_register
+Subject: [PATCH 07/11] undef atexit_register
 
 Even if not built, nuttx/include/nuttx/atexit.h defines it and this
 causes conflicts.
+
+Signed-off-by: Tiago Medicci <[email protected]>
 ---
  Modules/atexitmodule.c | 4 ++++
  1 file changed, 4 insertions(+)
diff --git a/interpreters/python/patch/0008-declare-struct-timeval.patch 
b/interpreters/python/patch/0008-declare-struct-timeval.patch
index bb8d3cb43..646c87c28 100644
--- a/interpreters/python/patch/0008-declare-struct-timeval.patch
+++ b/interpreters/python/patch/0008-declare-struct-timeval.patch
@@ -1,9 +1,11 @@
-From b40e89c190ec7c6b3b0116a3f7025ab13854398f Mon Sep 17 00:00:00 2001
+From fc042cfa496f37f2a859495ad281583f79af0044 Mon Sep 17 00:00:00 2001
 From: Tiago Medicci <[email protected]>
 Date: Wed, 13 Nov 2024 14:23:34 -0300
-Subject: [PATCH 08/10] declare struct timeval
+Subject: [PATCH 08/11] declare struct timeval
 
 Otherwise, build will fail due to redefinition of _PyTime_FromTimeval
+
+Signed-off-by: Tiago Medicci <[email protected]>
 ---
  Include/internal/pycore_time.h | 2 --
  1 file changed, 2 deletions(-)
diff --git 
a/interpreters/python/patch/0009-include-nuttx-sys-select-header-to-define-FD_SETSIZE.patch
 
b/interpreters/python/patch/0009-include-nuttx-sys-select-header-to-define-FD_SETSIZE.patch
index b52b76be1..312797960 100644
--- 
a/interpreters/python/patch/0009-include-nuttx-sys-select-header-to-define-FD_SETSIZE.patch
+++ 
b/interpreters/python/patch/0009-include-nuttx-sys-select-header-to-define-FD_SETSIZE.patch
@@ -1,8 +1,9 @@
-From 9a32a300c95e0061220d2608a014c7fa39dedab3 Mon Sep 17 00:00:00 2001
+From 3d140751ebec3aedd8ed3cdf2a7eff5009693112 Mon Sep 17 00:00:00 2001
 From: Tiago Medicci <[email protected]>
 Date: Thu, 14 Nov 2024 13:44:49 -0300
-Subject: [PATCH 09/10] include nuttx sys/select header to define FD_SETSIZE
+Subject: [PATCH 09/11] include nuttx sys/select header to define FD_SETSIZE
 
+Signed-off-by: Tiago Medicci <[email protected]>
 ---
  Modules/selectmodule.c | 4 ++++
  1 file changed, 4 insertions(+)
diff --git 
a/interpreters/python/patch/0010-check-for-the-d_ino-member-of-the-structure-dirent.patch
 
b/interpreters/python/patch/0010-check-for-the-d_ino-member-of-the-structure-dirent.patch
index d65b1f287..13cffe3fa 100644
--- 
a/interpreters/python/patch/0010-check-for-the-d_ino-member-of-the-structure-dirent.patch
+++ 
b/interpreters/python/patch/0010-check-for-the-d_ino-member-of-the-structure-dirent.patch
@@ -1,15 +1,37 @@
-From 4f6a1db85c56df378dc3856ed95a0a7342f44d89 Mon Sep 17 00:00:00 2001
+From 4191bf1e4505776efa0780ebc4fc5195a6ce79d3 Mon Sep 17 00:00:00 2001
 From: Tiago Medicci <[email protected]>
 Date: Tue, 3 Dec 2024 17:18:50 -0300
-Subject: [PATCH 10/10] check for the d_ino member of the structure dirent
+Subject: [PATCH 10/11] check for the d_ino member of the structure dirent
 
+Signed-off-by: Tiago Medicci <[email protected]>
 ---
- Modules/posixmodule.c | 18 ++++++++++++++++--
- configure             | 43 +++++++++++++++++++++++++++++++++++++++++++
- configure.ac          |  5 +++++
- pyconfig.h.in         |  3 +++
- 4 files changed, 67 insertions(+), 2 deletions(-)
+ Modules/clinic/posixmodule.c.h |  2 ++
+ Modules/posixmodule.c          | 18 ++++++++++++--
+ configure                      | 43 ++++++++++++++++++++++++++++++++++
+ configure.ac                   |  5 ++++
+ pyconfig.h.in                  |  3 +++
+ 5 files changed, 69 insertions(+), 2 deletions(-)
 
+diff --git a/Modules/clinic/posixmodule.c.h b/Modules/clinic/posixmodule.c.h
+index 14a6efb9ac9..6e716f77db8 100644
+--- a/Modules/clinic/posixmodule.c.h
++++ b/Modules/clinic/posixmodule.c.h
+@@ -11652,6 +11652,7 @@ PyDoc_STRVAR(os_DirEntry_inode__doc__,
+ #define OS_DIRENTRY_INODE_METHODDEF    \
+     {"inode", (PyCFunction)os_DirEntry_inode, METH_NOARGS, 
os_DirEntry_inode__doc__},
+ 
++#ifdef HAVE_DIRENT_D_INO
+ static PyObject *
+ os_DirEntry_inode_impl(DirEntry *self);
+ 
+@@ -11660,6 +11661,7 @@ os_DirEntry_inode(DirEntry *self, PyObject 
*Py_UNUSED(ignored))
+ {
+     return os_DirEntry_inode_impl(self);
+ }
++#endif
+ 
+ PyDoc_STRVAR(os_DirEntry___fspath____doc__,
+ "__fspath__($self, /)\n"
 diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
 index 51e34b5f4b7..2aa507aa942 100644
 --- a/Modules/posixmodule.c
diff --git 
a/interpreters/python/patch/0011-avoid-redefinition-warning-if-UNUSED-is-already-defi.patch
 
b/interpreters/python/patch/0011-avoid-redefinition-warning-if-UNUSED-is-already-defi.patch
new file mode 100644
index 000000000..15b5cf0c0
--- /dev/null
+++ 
b/interpreters/python/patch/0011-avoid-redefinition-warning-if-UNUSED-is-already-defi.patch
@@ -0,0 +1,26 @@
+From b82ab44e498a9e9bcdcbbfa1d6161023d8ea8c5b Mon Sep 17 00:00:00 2001
+From: Tiago Medicci <[email protected]>
+Date: Tue, 10 Dec 2024 12:03:47 -0300
+Subject: [PATCH 11/11] avoid redefinition warning if UNUSED is already defined
+
+---
+ Parser/pegen.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/Parser/pegen.h b/Parser/pegen.h
+index 32c64e7774b..42574456f23 100644
+--- a/Parser/pegen.h
++++ b/Parser/pegen.h
+@@ -250,7 +250,9 @@ void * _PyPegen_seq_last_item(asdl_seq *seq);
+ #define PyPegen_last_item(seq, type) 
((type)_PyPegen_seq_last_item((asdl_seq*)seq))
+ void * _PyPegen_seq_first_item(asdl_seq *seq);
+ #define PyPegen_first_item(seq, type) 
((type)_PyPegen_seq_first_item((asdl_seq*)seq))
++#ifndef UNUSED
+ #define UNUSED(expr) do { (void)(expr); } while (0)
++#endif
+ #define EXTRA_EXPR(head, tail) head->lineno, (head)->col_offset, 
(tail)->end_lineno, (tail)->end_col_offset, p->arena
+ #define EXTRA _start_lineno, _start_col_offset, _end_lineno, _end_col_offset, 
p->arena
+ PyObject *_PyPegen_new_type_comment(Parser *, const char *);
+-- 
+2.46.1
+

Reply via email to