That line was very recently added, here:
https://github.com/OpenImageIO/oiio/pull/3690
<https://github.com/OpenImageIO/oiio/pull/3690>
Presumably this was evidence that the definition needed to be made for non-Mac
ARM-based machines.
Yet more evidence that without any ARM machines in our CI matrix, it's very
hard to avoid breaking things.
I think that the definition shouldn't be in this spot. No definition should be
defined inside a function definition, I'm sorry I didn't catch that when I
reviewed the patch.
I have a specific remedy that I'd prefer, so please just give me a few minutes
to prepare a PR that fixes this in a clean way.
-- lg
> On Jan 2, 2023, at 3:29 PM, Mikael Sundell <[email protected]> wrote:
>
> Hey all,
> On Mac with Apple clang version 13.1.6 __ARM_NEON__ is already defined and
> will fire a macro redefined error during build. Platform.h: 602 below. Before
> suggesting a fix this code has been tested on non-Mac ARM builds only?
>
> #elif (defined(_M_ARM64) || defined (__aarch64__) || defined(__aarch64))
> info[0] = 0; info[1] = 0; info[2] = 0; info[3] = 0;
> #define __ARM_NEON__
> #else
> info[0] = 0; info[1] = 0; info[2] = 0; info[3] = 0;
> #endif
>
> Stupid idea to simply change the definition to OIIO_NEON and change the use
> of the macro across oiio, simd.h.
>
> mikaelsundell@Mikaels-iMac-M1 OpenImageIO % grep -Rn __ARM_NEON__
> ./platform.h:602: #define __ARM_NEON__
> ./simd.h:84:#elif defined(__GNUC__) && defined(__ARM_NEON__)
> ./simd.h:214:#if defined(__ARM_NEON__) && !defined(OIIO_NO_NEON)
>
> Will submit a PR just want to make sure I don't introduce new problems, I'm a
> Mac-only user these days :-)
>
> Mikael
>
>
>
>
> _______________________________________________
> Oiio-dev mailing list
> [email protected]
> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
--
Larry Gritz
[email protected]
_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org