Boost C++ Libraries: Ticket #12946: Definition of BOOST_ARCH_ARM does not check __aarch64__ https://svn.boost.org/trac10/ticket/12946 <p> Hi </p> <p> In this header file <a href="http://www.boost.org/doc/libs/1_63_0/boost/predef/architecture/arm.h">http://www.boost.org/doc/libs/1_63_0/boost/predef/architecture/arm.h</a> macros <span class="underline">aarch64</span> should be checked along with <span class="underline">arm64 Without that we get problems when building with Android NDK for arm 64, because BOOST_ARCH_ARM is not defined. </span></p> <p> Thanks Sergey </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/12946 Trac 1.4.3 Sergey Shestakov <s_shestakov@…> Tue, 04 Apr 2017 08:53:33 GMT <link>https://svn.boost.org/trac10/ticket/12946#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/12946#comment:1</guid> <description> <p> <code>__aarch64__ should be checked along with __arm64 </code> </p> </description> <category>Ticket</category> </item> <item> <dc:creator>James E. King, III</dc:creator> <pubDate>Wed, 04 Oct 2017 04:00:59 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/12946#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/12946#comment:2</guid> <description> <p> Something like this should help - I was going to submit a pull request on github however it looks like there's quite a bit more that needs to be done here including detecting the difference between 32-bit and 64-bit (unless the architecture/) is doing that; and also the major and minor version of ARM should be updated to include 8.1A, 8.2A, 8.3A in all the ways the different compilers express it. </p> <pre class="wiki">diff --git a/include/boost/predef/architecture/arm.h b/include/boost/predef/architecture/arm.h index 76f9f94..e785304 100644 --- a/include/boost/predef/architecture/arm.h +++ b/include/boost/predef/architecture/arm.h @@ -21,6 +21,7 @@ http://www.boost.org/LICENSE_1_0.txt) [table [[__predef_symbol__] [__predef_version__]] + [[`__aarch64__`] [__predef_detection__]] [[`__arm__`] [__predef_detection__]] [[`__arm64`] [__predef_detection__]] [[`__thumb__`] [__predef_detection__]] @@ -39,11 +40,11 @@ http://www.boost.org/LICENSE_1_0.txt) #define BOOST_ARCH_ARM BOOST_VERSION_NUMBER_NOT_AVAILABLE -#if defined(__arm__) || defined(__arm64) || defined(__thumb__) || \ +#if defined(__aarch64__) || defined(__arm__) || defined(__arm64) || defined(__thumb__) || \ defined(__TARGET_ARCH_ARM) || defined(__TARGET_ARCH_THUMB) || \ defined(_M_ARM) || defined(_M_ARM64) # undef BOOST_ARCH_ARM -# if !defined(BOOST_ARCH_ARM) &amp;&amp; defined(__arm64) +# if !defined(BOOST_ARCH_ARM) &amp;&amp; (defined(__arm64) || defined(__aarch64__)) # define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(8,0,0) # endif # if !defined(BOOST_ARCH_ARM) &amp;&amp; defined(__TARGET_ARCH_ARM) </pre><p> I'd recommend moving this issue to github so it gets more exposure. </p> </description> <category>Ticket</category> </item> </channel> </rss>