<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/0ba5db19ff80a2a835f8f43f169827a88d6fcabe">https://github.com/macports/macports-legacy-support/commit/0ba5db19ff80a2a835f8f43f169827a88d6fcabe</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 0ba5db19ff80a2a835f8f43f169827a88d6fcabe
</span>Author: Fred Wright <fw@fwright.net>
AuthorDate: Sat May 10 22:12:21 2025 -0700

<span style='display:block; white-space:pre;color:#404040;'>    OSAtomic.h: Allow building for <10.6 in C89 mode.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    See the comment for details.
</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;'>    Passes allheaders test on all platforms, including in C89 mode.
</span><span style='display:block; white-space:pre;color:#404040;'>    Passes all tests on all platforms.
</span>---
 include/libkern/OSAtomic.h | 49 ++++++++++++++++++++++++++++++++++++++++++++++
 xtest/allheaders.h         |  1 +
 xtest/revheaders.h         |  1 +
 3 files changed, 51 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/include/libkern/OSAtomic.h b/include/libkern/OSAtomic.h
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..001589f
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/include/libkern/OSAtomic.h
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,49 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Copyright (c) 2025 Frederick H. G. Wright II <fw@fwright.net>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Permission to use, copy, modify, and distribute this software for any
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * purpose with or without fee is hereby granted, provided that the above
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * copyright notice and this permission notice appear in all copies.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef _MACPORTS_OSATOMIC_H_
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define _MACPORTS_OSATOMIC_H_
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * This is a wrapper to allow building OSAtomic.h in C89 mode.  The only issue
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * is the lack of 'inline'.  The SDK version switched to '__inline' as of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * the 10.6 SDK.  We mimic that with a temporary macro definition.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#if (!defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    && !defined(inline)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/* Do our SDK-related setup */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <_macports_extras/sdkversion.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#if __MPLS_SDK_MAJOR < 1060
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define inline __inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define __MPLS_TEMP_INLINE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif /* Not <10.6 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif /* Not < C99 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/* Include the primary system libkern/OSAtomic.h */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include_next <libkern/OSAtomic.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifdef __MPLS_TEMP_INLINE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#undef inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#undef __MPLS_TEMP_INLINE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif /* _MACPORTS_OSATOMIC_H_ */
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/xtest/allheaders.h b/xtest/allheaders.h
</span><span style='display:block; white-space:pre;color:#808080;'>index 5df2ffb..4d3d4fd 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/xtest/allheaders.h
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/xtest/allheaders.h
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8,6 +8,7 @@
</span> #endif
 #include <copyfile.h>
 #include <dirent.h>
<span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <libkern/OSAtomic.h>
</span> #include <mach/mach_time.h>
 #include <mach/machine.h>
 #include <math.h>
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/xtest/revheaders.h b/xtest/revheaders.h
</span><span style='display:block; white-space:pre;color:#808080;'>index 882ebc1..3c79d94 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/xtest/revheaders.h
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/xtest/revheaders.h
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -29,6 +29,7 @@
</span> #include <math.h>
 #include <mach/machine.h>
 #include <mach/mach_time.h>
<span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <libkern/OSAtomic.h>
</span> #include <dirent.h>
 #include <copyfile.h>
 #ifdef __cplusplus
</pre><pre style='margin:0'>

</pre>