]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-129666: Revert "gh-129666: Add C11/C++11 to docs and `-pedantic-errors` to GCC...
authorPetr Viktorin <encukou@gmail.com>
Fri, 28 Feb 2025 16:05:36 +0000 (17:05 +0100)
committerGitHub <noreply@github.com>
Fri, 28 Feb 2025 16:05:36 +0000 (16:05 +0000)
This reverts commit 003e6d2b9776c07147a9c628eb028fd2ac3f0008.

Doc/c-api/intro.rst
Lib/test/test_cext/__init__.py
Lib/test/test_cext/extension.c
Lib/test/test_cext/setup.py
Lib/test/test_cppext/__init__.py
Lib/test/test_cppext/extension.cpp
Lib/test/test_cppext/setup.py

index 76d7d5793428f8db173b8ce4d8370d159197efe8..8ef463e3f88ca8fb4a3cd13977d20ad744d49bec 100644 (file)
@@ -30,16 +30,6 @@ familiar with writing an extension before  attempting to embed Python in a real
 application.
 
 
-Language version compatibility
-==============================
-
-Python's C API is compatible with C11 and C++11 versions of C and C++.
-
-This is a lower limit: the C API does not require features from later
-C/C++ versions.
-You do *not* need to enable your compiler's "c11 mode".
-
-
 Coding standards
 ================
 
index 402a2d04fa875e10f4cb5f94e5ac8d2dbe66647c..54859f9ff7622d13986d3cd86ede568a2b55b3fe 100644 (file)
@@ -38,9 +38,6 @@ class TestExt(unittest.TestCase):
 
     @unittest.skipIf(support.MS_WINDOWS, "MSVC doesn't support /std:c99")
     def test_build_c99(self):
-        # In public docs, we say C API is compatible with C11. However,
-        # in practice we do maintain C99 compatibility in public headers.
-        # Please ask the C API WG before adding a new C11-only feature.
         self.check_build('_test_c99_cext', std='c99')
 
     @support.requires_gil_enabled('incompatible with Free Threading')
index 64629c5a6da8cd26d2208170ac1befd87920464a..b76abe1d74c628584a827f1a1c113b6527d7b773 100644 (file)
@@ -58,24 +58,11 @@ _testcext_exec(
     return 0;
 }
 
-// Converting from function pointer to void* has undefined behavior, but
-// works on all known platforms, and CPython's module and type slots currently
-// need it.
-// (GCC doesn't have a narrower category for this than -Wpedantic.)
-_Py_COMP_DIAG_PUSH
-#if defined(__GNUC__)
-#pragma GCC diagnostic ignored "-Wpedantic"
-#elif defined(__clang__)
-#pragma clang diagnostic ignored "-Wpedantic"
-#endif
-
 static PyModuleDef_Slot _testcext_slots[] = {
     {Py_mod_exec, (void*)_testcext_exec},
     {0, NULL}
 };
 
-_Py_COMP_DIAG_POP
-
 
 PyDoc_STRVAR(_testcext_doc, "C test extension.");
 
index 1275282983f7ffd700f7cbbf423f9e172eb81f5d..e97749b45ea6f31d20ec3eec10a112b61eb99d04 100644 (file)
@@ -21,9 +21,6 @@ if not support.MS_WINDOWS:
 
         # gh-120593: Check the 'const' qualifier
         '-Wcast-qual',
-
-        # Ask for strict(er) compliance with the standard
-        '-pedantic-errors',
     ]
     if not support.Py_GIL_DISABLED:
         CFLAGS.append(
index 7d56cb8b68620ad213963c03d54f1065a1edbf77..d5195227308fecd90f384205971bb4b3339d7149 100644 (file)
@@ -29,9 +29,6 @@ class TestCPPExt(unittest.TestCase):
         self.check_build('_testcppext')
 
     def test_build_cpp03(self):
-        # In public docs, we say C API is compatible with C++11. However,
-        # in practice we do maintain C++03 compatibility in public headers.
-        # Please ask the C API WG before adding a new C++11-only feature.
         self.check_build('_testcpp03ext', std='c++03')
 
     @unittest.skipIf(support.MS_WINDOWS, "MSVC doesn't support /std:c++11")
index 5b3571b295bec3bf897938975d479cf8c3092be3..500d5918145c00ab00dfca4d965fbb8f7b060d39 100644 (file)
@@ -161,24 +161,11 @@ private:
 
 int VirtualPyObject::instance_count = 0;
 
-// Converting from function pointer to void* has undefined behavior, but
-// works on all known platforms, and CPython's module and type slots currently
-// need it.
-// (GCC doesn't have a narrower category for this than -Wpedantic.)
-_Py_COMP_DIAG_PUSH
-#if defined(__GNUC__)
-#pragma GCC diagnostic ignored "-Wpedantic"
-#elif defined(__clang__)
-#pragma clang diagnostic ignored "-Wpedantic"
-#endif
-
 PyType_Slot VirtualPyObject_Slots[] = {
     {Py_tp_free, (void*)VirtualPyObject::dealloc},
     {0, _Py_NULL},
 };
 
-_Py_COMP_DIAG_POP
-
 PyType_Spec VirtualPyObject_Spec = {
     /* .name */ STR(MODULE_NAME) ".VirtualPyObject",
     /* .basicsize */ sizeof(VirtualPyObject),
@@ -254,20 +241,11 @@ _testcppext_exec(PyObject *module)
     return 0;
 }
 
-// Need to ignore "-Wpedantic" warnings; see VirtualPyObject_Slots above
-_Py_COMP_DIAG_PUSH
-#if defined(__GNUC__)
-#pragma GCC diagnostic ignored "-Wpedantic"
-#elif defined(__clang__)
-#pragma clang diagnostic ignored "-Wpedantic"
-#endif
-
 static PyModuleDef_Slot _testcppext_slots[] = {
     {Py_mod_exec, reinterpret_cast<void*>(_testcppext_exec)},
     {0, _Py_NULL}
 };
 
-_Py_COMP_DIAG_POP
 
 PyDoc_STRVAR(_testcppext_doc, "C++ test extension.");
 
index aa09c7bc8cb170c18142f19fe0170c5112d9cd39..019ff18446a2ebc4036afbad89899ef3ee904744 100644 (file)
@@ -18,14 +18,6 @@ if not support.MS_WINDOWS:
         # a C++ extension using the Python C API does not emit C++ compiler
         # warnings
         '-Werror',
-
-        # Ask for strict(er) compliance with the standard.
-        '-pedantic-errors',
-
-        # But allow C++11 features for -std=C++03. We use:
-        # - `long long` (-Wno-c++11-long-long)
-        # - comma at end of `enum` lists (no narrower GCC option exists)
-        '-Wno-c++11-extensions',
     ]
 else:
     # MSVC compiler flags