GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||||
GeezerVison is showing github.com — gh-91321: Add _testcppext C++ extension by vstinner · Pull Request #32175 · python/cpython Conversation
|
By the way, using |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
https://bugs.python.org/issue39355 is closed. What is the status of this PR? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
This PR is now for https://bugs.python.org/issue47165 I'm working on fixing C++ compiler warnings: https://bugs.python.org/issue47164 |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I updated this PR for #91320 |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Oops, sorry, this PR is for #91321 |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I created #91959 for the "CAST" commit. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Oh, the build fails with MSVC: I initialize structures with |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Error: |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
FYI we were/are trying to address the same issue with HPy headers. My understanding is that this only tests the static inline functions and macros that are used in the example extension. It is still possible that some other macro or static inline function could cause warnings or for macros even errors. So my conclusion so far has been that to have a fully C++ compat tested headers, one has to write a C++ extension(s) that use all the static inline functions and macros from the headers. Something tested is way better than nothing tested, so no objections to this PR -- just wanted to check if you see it the same way? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Sadly, my experience is the same: a C++ compiler doesn't complain when a static inline function is defined. Only when it's being used. My practical plan is:
Right now, my main blocker issue is to test if Python has a working C++ compiler. For example, the "Tests / Windows (x64)" fails with |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
🤖 New build scheduled with the buildbot fleet by @vstinner for commit 31b7a4f7ab6092998865e06dd0f4b0d5ea79b13f 🤖 If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I simplified |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Oh, when Python is installed, the test fails with: For example, it failed on these buildbots:
|
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Build a basic C++ test extension to check that the Python C API is compatible with C++ and does not emit C++ compiler warnings. * Add Modules/_testcppext.cpp: C++ extension * Add Lib/test/test_cppext.py: test building the C++ extension.
|
I rewrote the PR to build the C++ extension in a temporary directory and fix the test on installed Python: _testcppext.cpp is now part of Lib/test/ and so is installed. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
🤖 New build scheduled with the buildbot fleet by @vstinner for commit e067677 🤖 If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
The error is unrelated to my change: |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.