On Wed, 4 Sep 2024, Fred Wright wrote:
On Wed, 4 Sep 2024, Mark E Anderson wrote:

Side note - Fred, can you send me some ports where I can find the Float16 bug?

I don't know of any specific *ports* (yet), since I found this in some legacy-support testing involving trying all possible combinations of OS (with the associated Xcode compiler) and SDK. The conditions for failure are:

1) Using the macOS 15 SDK.

2) Using the math.h header.

3) Using any compiler that doesn't implement the _Float16 type.

I didn't keep track of which OS/compiler cases are too old for _Float16, though I could investigate that if needed. My guess is that at least some MacPorts compilers are sufficiently old for #3, so you don't necessarily need an old OS install. Requirements #1 and #2 are trivial to create.

It's even more trivial just by defining a '_Float16' variable as a test:

$ for c in /opt/local/bin/clang-mp-* /opt/local/bin/gcc-mp-*; do echo $c:; echo 
'_Float16 foo;' | $c -o /dev/null -c -xc -; done

With the compilers I have installed here, what I see is:

clang 3.3-5.0 don't recognize the type
clang 6.0-7.0 accept it
clang 8.0-14 recognize it, but claim it's unsupported on this platform *
clang 15-17 accept it

gcc 4.2-4.4 don't even recogize it as a *potential* type
gcc 4.7-6 don't recognize the type
gcc 7-11 recognize it, but claim it's unsupported on this platform *
gcc 12-14 accept it

* The hardware (x86_64 with SSE2) does support it, but there may be variations in which architecture variants are assumed by default.

Fred Wright

Reply via email to