<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-legacy-support.
</pre>
<p><a href="https://github.com/macports/macports-legacy-support/commit/25fac0c26e379c677a2212186368f9ff6074991b">https://github.com/macports/macports-legacy-support/commit/25fac0c26e379c677a2212186368f9ff6074991b</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 25fac0c26e379c677a2212186368f9ff6074991b
</span>Author: Fred Wright <fw@fwright.net>
AuthorDate: Tue May 13 12:18:23 2025 -0700
<span style='display:block; white-space:pre;color:#404040;'> sys/queue.h: Fix warning with SDK 10.15+ and old clangs.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> The workaround for the "nullability completeness" issue provokes a
</span><span style='display:block; white-space:pre;color:#404040;'> warning of its own when used in clangs that don't implement that
</span><span style='display:block; white-space:pre;color:#404040;'> warning. Dummy out the workaround in such cases.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> TESTED:
</span><span style='display:block; white-space:pre;color:#404040;'> Warning is gone.
</span><span style='display:block; white-space:pre;color:#404040;'> Test passes on all platforms.
</span>---
include/sys/queue.h | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/include/sys/queue.h b/include/sys/queue.h
</span><span style='display:block; white-space:pre;color:#808080;'>index be4501f..5965332 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/include/sys/queue.h
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/include/sys/queue.h
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -20,6 +20,33 @@
</span> /* Include the primary system sys/queue.h */
#include_next <sys/queue.h>
<span style='display:block; white-space:pre;background:#e0ffe0;'>+/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * When SDK 10.15+ versions are built with clang, they define a pair of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * macros to disable "nullability completeness" warnings. See the comment
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * for details. But attempting to disable this warning in compilers that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * don't have it provokes a warning of its own. So we nuke those macros
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * in such cases.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * This is complicated by the fact that the clang version threshold for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * implementing nullability completeness differs between Xcode and MacPorts
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * clangs. MacPorts clang has it as of 3.7, but Xcode clang doesn't have
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * it until 7.x.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Note that the SDK's example of where the workaround is needed doesn't
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * actually work, so we don't have a test that this works correctly, beyond
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * getting rid of the warnings with older clangs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#if defined(__NULLABILITY_COMPLETENESS_PUSH) && defined(__clang__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if (__clang_major__ < 4 || __clang_minor__ < 7) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ || (defined(__apple_build_version__) && __clang_major__ < 7)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef __NULLABILITY_COMPLETENESS_PUSH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef __NULLABILITY_COMPLETENESS_POP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define __NULLABILITY_COMPLETENESS_PUSH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define __NULLABILITY_COMPLETENESS_POP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif /* Early clang */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif /* __NULLABILITY_COMPLETENESS_PUSH */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> /* SLIST functions missing from earlier SDK versions */
/* Missing until 10.5 */
</pre><pre style='margin:0'>
</pre>