Chris@16: /* Chris@101: Copyright Rene Rivera 2008-2013 Chris@101: Copyright Franz Detro 2014 Chris@101: Copyright (c) Microsoft Corporation 2014 Chris@16: Distributed under the Boost Software License, Version 1.0. Chris@16: (See accompanying file LICENSE_1_0.txt or copy at Chris@16: http://www.boost.org/LICENSE_1_0.txt) Chris@16: */ Chris@16: Chris@16: #ifndef BOOST_PREDEF_ARCHITECTURE_ARM_H Chris@16: #define BOOST_PREDEF_ARCHITECTURE_ARM_H Chris@16: Chris@16: #include Chris@16: #include Chris@16: Chris@16: /*` Chris@16: [heading `BOOST_ARCH_ARM`] Chris@16: Chris@16: [@http://en.wikipedia.org/wiki/ARM_architecture ARM] architecture. Chris@16: Chris@16: [table Chris@16: [[__predef_symbol__] [__predef_version__]] Chris@16: Chris@16: [[`__arm__`] [__predef_detection__]] Chris@101: [[`__arm64`] [__predef_detection__]] Chris@16: [[`__thumb__`] [__predef_detection__]] Chris@16: [[`__TARGET_ARCH_ARM`] [__predef_detection__]] Chris@16: [[`__TARGET_ARCH_THUMB`] [__predef_detection__]] Chris@101: [[`_M_ARM`] [__predef_detection__]] Chris@16: Chris@101: [[`__arm64`] [8.0.0]] Chris@16: [[`__TARGET_ARCH_ARM`] [V.0.0]] Chris@16: [[`__TARGET_ARCH_THUMB`] [V.0.0]] Chris@101: [[`_M_ARM`] [V.0.0]] Chris@16: ] Chris@16: */ Chris@16: Chris@16: #define BOOST_ARCH_ARM BOOST_VERSION_NUMBER_NOT_AVAILABLE Chris@16: Chris@101: #if defined(__arm__) || defined(__arm64) || defined(__thumb__) || \ Chris@101: defined(__TARGET_ARCH_ARM) || defined(__TARGET_ARCH_THUMB) || \ Chris@101: defined(_M_ARM) Chris@16: # undef BOOST_ARCH_ARM Chris@101: # if !defined(BOOST_ARCH_ARM) && defined(__arm64) Chris@101: # define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(8,0,0) Chris@101: # endif Chris@16: # if !defined(BOOST_ARCH_ARM) && defined(__TARGET_ARCH_ARM) Chris@16: # define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(__TARGET_ARCH_ARM,0,0) Chris@16: # endif Chris@16: # if !defined(BOOST_ARCH_ARM) && defined(__TARGET_ARCH_THUMB) Chris@16: # define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(__TARGET_ARCH_THUMB,0,0) Chris@16: # endif Chris@101: # if !defined(BOOST_ARCH_ARM) && defined(_M_ARM) Chris@101: # define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(_M_ARM,0,0) Chris@101: # endif Chris@16: # if !defined(BOOST_ARCH_ARM) Chris@16: # define BOOST_ARCH_ARM BOOST_VERSION_NUMBER_AVAILABLE Chris@16: # endif Chris@16: #endif Chris@16: Chris@16: #if BOOST_ARCH_ARM Chris@16: # define BOOST_ARCH_ARM_AVAILABLE Chris@16: #endif Chris@16: Chris@16: #define BOOST_ARCH_ARM_NAME "ARM" Chris@16: Chris@16: #include Chris@16: BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_ARM,BOOST_ARCH_ARM_NAME) Chris@16: Chris@16: Chris@16: #endif