<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/f313796fd54fc6002cf5542338e5ce362f2acce8">https://github.com/macports/macports-legacy-support/commit/f313796fd54fc6002cf5542338e5ce362f2acce8</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit f313796fd54fc6002cf5542338e5ce362f2acce8
</span>Author: Fred Wright <fw@fwright.net>
AuthorDate: Sat Oct 5 19:19:36 2024 -0700

<span style='display:block; white-space:pre;color:#404040;'>    Add test for math.h compile
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Verifies that math.h can be compiled.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Indicates whether _Float16 is defined as a macro (SDK 15 workaround).
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Optionally reports compiler and architecture info.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Since the SDK 15 math.h broke other tests, there's no benefit to
</span><span style='display:block; white-space:pre;color:#404040;'>    placing this commit after the fix in the commit sequence.
</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;'>    On all platforms, correctly reports all three passing cases, and of
</span><span style='display:block; white-space:pre;color:#404040;'>    course fails to build in problem cases.
</span>---
 xtest/test_math_h.c | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/xtest/test_math_h.c b/xtest/test_math_h.c
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..38e0478
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/xtest/test_math_h.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,75 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/* Simple test to verify that math.h can be compiled. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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;'>+#include <math.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <stdio.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <string.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define TARGET_OSVER __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define TARGET_OSVER 1040
</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;'>+#if defined(__clang_major__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COMPILER "clang %d.%d", __clang_major__, __clang_minor__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#elif defined(__GNUC__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COMPILER "gcc %d.%d", __GNUC__, __GNUC_MINOR__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COMPILER "<unknown>"
</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;'>+#if defined(__APPLE_CC__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COMPILER_APPLE " (Apple %d)\n", __APPLE_CC__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COMPILER_APPLE "\n"
</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;'>+#if defined(__x86_64__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define ARCH "x86_64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#elif defined(__arm64__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define ARCH "arm64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define ARCH "non-_Float16"
</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;'>+static void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+print_basic(void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  #if __MPLS_SDK_MAJOR < 150000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    printf("No _Float16 workaround needed.\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  #elif !defined(_Float16)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    printf("math.h builds without _Float16 workaround\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    printf("math.h builds with _Float16 defined as a macro\n");
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+static
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+print_details(void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  printf("Target OS is %d\n", TARGET_OSVER);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  printf("SDK major version is %d\n", __MPLS_SDK_MAJOR);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  printf("Compiler is " COMPILER);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  printf(COMPILER_APPLE);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  printf("Architecture is " ARCH "\n");
</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;'>+int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+main(int argc, char *argv[])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  int verbose = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  if (argc > 1 && !strcmp(argv[1], "-v")) verbose = 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  print_basic();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  if (verbose) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    print_details();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    printf("\n");
</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;'>+  return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span></pre><pre style='margin:0'>

</pre>