<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>