Absolutely, would love to get any M1 fixes.

The second one you mention (on DoNotOptimize) rings a bell. I think I may have 
fixed that one very recently, as the new Intel compiler gave the same error. So 
you may find that it's already fixed, at least in the current master.


> On Mar 13, 2022, at 1:13 AM, Mikael Sundell <mikael.sund...@gmail.com> wrote:
> 
> Hey,
> 
> I've got a build running for my Mac M1/ arm64, two things I had to patch. 
> Just want to double check here before I propose a PR as I've been away from 
> everyday C++ coding for a while :-)
> 
> First, uname -m on the Mac will not return aarch64, it simply return arm64. 
> Therefore I change the platformdetection (detectplatform.mk 
> <http://detectplatform.mk/>) to:
> 
> ifneq (${hw},x86)
>   ifneq (${hw},x86_64)
>     ifneq (${hw},i386)
>       ifneq (${hw},i686)
>         ifneq (${hw},aarch64)
>           ifneq (${hw},arm64)
>             $(error "ERROR: Unknown hardware architecture")
>           endif
>         endif
>       endif
>     endif
>   endif
> endif
> 
> Second, for some reason the compiler attributes for inlining/ optimisation 
> seems to collide:
> 
> In file included from 
> /Volumes/Build/3rdparty/build/macosx/arm64.debug/src/oiio/oiio/src/libutil/spinlock_test.cpp:10:
> /Volumes/Build/3rdparty/build/macosx/arm64.debug/src/oiio/oiio/src/include/OpenImageIO/benchmark.h:29:1:
>  error: 'always_inline' attribute ignored [-Werror,-Wignored-attributes]
> OIIO_FORCEINLINE T const& DoNotOptimize (T const &val);
> ^
> /Volumes/Build/3rdparty/build/macosx/arm64.debug/src/oiio/oiio/src/include/OpenImageIO/platform.h:391:52:
>  note: expanded from macro 'OIIO_FORCEINLINE'
> #    define OIIO_FORCEINLINE inline __attribute__((always_inline))
>                                                    ^
> /Volumes/Build/3rdparty/build/macosx/arm64.debug/src/oiio/oiio/src/include/OpenImageIO/benchmark.h:431:33:
>  note: conflicting attribute is here
> inline T const & __attribute__((__optnone__))
>                                 ^
> 1 error generated.
> 
> This can easily be resolved by just taking out the:
> 
> #elif __has_attribute(__optnone__)
> 
> section in benchmark.h: line 426.
> 
> This is one where I don't feel confident, is that the right thing to do. I 
> don't know enough here to propose this as a change.
> 
> I'm a bit rusty with all this, my comments here should probably be in the PR 
> itself. 
> 
> Anyway here it is, I've got a working arm64 build and happy to contribute.
> 
> Mikael
> _______________________________________________
> Oiio-dev mailing list
> Oiio-dev@lists.openimageio.org
> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

--
Larry Gritz
l...@larrygritz.com




_______________________________________________
Oiio-dev mailing list
Oiio-dev@lists.openimageio.org
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

Reply via email to