diff options
author | Guido van Rossum <guido@python.org> | 2024-05-05 19:28:55 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-05 19:28:55 (GMT) |
commit | 40cc809902304f60c6e1c933191dd4d64e570e28 (patch) | |
tree | 4e71c44dae52c861c118b318fd7d4b7585939b69 | |
parent | 44f67916dafd3583f482e6d001766581a1a734fc (diff) | |
download | cpython-40cc809902304f60c6e1c933191dd4d64e570e28.zip cpython-40cc809902304f60c6e1c933191dd4d64e570e28.tar.gz cpython-40cc809902304f60c6e1c933191dd4d64e570e28.tar.bz2 |
gh-117549: Don't use designated initializers in headers (#118580)
The designated initializer syntax in static inline functions in pycore_backoff.h
causes problems for C++ or MSVC users who aren't yet using C++20.
While internal, pycore_backoff.h is included (indirectly, via pycore_code.h)
by some key 3rd party software that does so for speed.
-rw-r--r-- | Include/internal/pycore_backoff.h | 9 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Core and Builtins/2024-05-05-12-04-02.gh-issue-117549.kITawD.rst | 5 |
2 files changed, 12 insertions, 2 deletions
diff --git a/Include/internal/pycore_backoff.h b/Include/internal/pycore_backoff.h index decf92b..90735b2 100644 --- a/Include/internal/pycore_backoff.h +++ b/Include/internal/pycore_backoff.h @@ -44,13 +44,18 @@ make_backoff_counter(uint16_t value, uint16_t backoff) { assert(backoff <= 15); assert(value <= 0xFFF); - return (_Py_BackoffCounter){.backoff = backoff, .value = value}; + _Py_BackoffCounter result; + result.value = value; + result.backoff = backoff; + return result; } static inline _Py_BackoffCounter forge_backoff_counter(uint16_t counter) { - return (_Py_BackoffCounter){.as_counter = counter}; + _Py_BackoffCounter result; + result.as_counter = counter; + return result; } static inline _Py_BackoffCounter diff --git a/Misc/NEWS.d/next/Core and Builtins/2024-05-05-12-04-02.gh-issue-117549.kITawD.rst b/Misc/NEWS.d/next/Core and Builtins/2024-05-05-12-04-02.gh-issue-117549.kITawD.rst new file mode 100644 index 0000000..48ca169 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2024-05-05-12-04-02.gh-issue-117549.kITawD.rst @@ -0,0 +1,5 @@ +Don't use designated initializer syntax in inline functions in internal +headers. They cause problems for C++ or MSVC users who aren't yet using the +latest C++ standard (C++20). While internal, pycore_backoff.h, is included +(indirectly, via pycore_code.h) by some key 3rd party software that does so +for speed. |