summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2024-05-05 19:28:55 (GMT)
committerGitHub <noreply@github.com>2024-05-05 19:28:55 (GMT)
commit40cc809902304f60c6e1c933191dd4d64e570e28 (patch)
tree4e71c44dae52c861c118b318fd7d4b7585939b69
parent44f67916dafd3583f482e6d001766581a1a734fc (diff)
downloadcpython-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.h9
-rw-r--r--Misc/NEWS.d/next/Core and Builtins/2024-05-05-12-04-02.gh-issue-117549.kITawD.rst5
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.