Chris@16
|
1 /*
|
Chris@101
|
2 Copyright Rene Rivera 2008-2013
|
Chris@101
|
3 Copyright Franz Detro 2014
|
Chris@101
|
4 Copyright (c) Microsoft Corporation 2014
|
Chris@16
|
5 Distributed under the Boost Software License, Version 1.0.
|
Chris@16
|
6 (See accompanying file LICENSE_1_0.txt or copy at
|
Chris@16
|
7 http://www.boost.org/LICENSE_1_0.txt)
|
Chris@16
|
8 */
|
Chris@16
|
9
|
Chris@16
|
10 #ifndef BOOST_PREDEF_ARCHITECTURE_ARM_H
|
Chris@16
|
11 #define BOOST_PREDEF_ARCHITECTURE_ARM_H
|
Chris@16
|
12
|
Chris@16
|
13 #include <boost/predef/version_number.h>
|
Chris@16
|
14 #include <boost/predef/make.h>
|
Chris@16
|
15
|
Chris@16
|
16 /*`
|
Chris@16
|
17 [heading `BOOST_ARCH_ARM`]
|
Chris@16
|
18
|
Chris@16
|
19 [@http://en.wikipedia.org/wiki/ARM_architecture ARM] architecture.
|
Chris@16
|
20
|
Chris@16
|
21 [table
|
Chris@16
|
22 [[__predef_symbol__] [__predef_version__]]
|
Chris@16
|
23
|
Chris@16
|
24 [[`__arm__`] [__predef_detection__]]
|
Chris@101
|
25 [[`__arm64`] [__predef_detection__]]
|
Chris@16
|
26 [[`__thumb__`] [__predef_detection__]]
|
Chris@16
|
27 [[`__TARGET_ARCH_ARM`] [__predef_detection__]]
|
Chris@16
|
28 [[`__TARGET_ARCH_THUMB`] [__predef_detection__]]
|
Chris@101
|
29 [[`_M_ARM`] [__predef_detection__]]
|
Chris@16
|
30
|
Chris@101
|
31 [[`__arm64`] [8.0.0]]
|
Chris@16
|
32 [[`__TARGET_ARCH_ARM`] [V.0.0]]
|
Chris@16
|
33 [[`__TARGET_ARCH_THUMB`] [V.0.0]]
|
Chris@101
|
34 [[`_M_ARM`] [V.0.0]]
|
Chris@16
|
35 ]
|
Chris@16
|
36 */
|
Chris@16
|
37
|
Chris@16
|
38 #define BOOST_ARCH_ARM BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
Chris@16
|
39
|
Chris@101
|
40 #if defined(__arm__) || defined(__arm64) || defined(__thumb__) || \
|
Chris@101
|
41 defined(__TARGET_ARCH_ARM) || defined(__TARGET_ARCH_THUMB) || \
|
Chris@101
|
42 defined(_M_ARM)
|
Chris@16
|
43 # undef BOOST_ARCH_ARM
|
Chris@101
|
44 # if !defined(BOOST_ARCH_ARM) && defined(__arm64)
|
Chris@101
|
45 # define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(8,0,0)
|
Chris@101
|
46 # endif
|
Chris@16
|
47 # if !defined(BOOST_ARCH_ARM) && defined(__TARGET_ARCH_ARM)
|
Chris@16
|
48 # define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(__TARGET_ARCH_ARM,0,0)
|
Chris@16
|
49 # endif
|
Chris@16
|
50 # if !defined(BOOST_ARCH_ARM) && defined(__TARGET_ARCH_THUMB)
|
Chris@16
|
51 # define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(__TARGET_ARCH_THUMB,0,0)
|
Chris@16
|
52 # endif
|
Chris@101
|
53 # if !defined(BOOST_ARCH_ARM) && defined(_M_ARM)
|
Chris@101
|
54 # define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(_M_ARM,0,0)
|
Chris@101
|
55 # endif
|
Chris@16
|
56 # if !defined(BOOST_ARCH_ARM)
|
Chris@16
|
57 # define BOOST_ARCH_ARM BOOST_VERSION_NUMBER_AVAILABLE
|
Chris@16
|
58 # endif
|
Chris@16
|
59 #endif
|
Chris@16
|
60
|
Chris@16
|
61 #if BOOST_ARCH_ARM
|
Chris@16
|
62 # define BOOST_ARCH_ARM_AVAILABLE
|
Chris@16
|
63 #endif
|
Chris@16
|
64
|
Chris@16
|
65 #define BOOST_ARCH_ARM_NAME "ARM"
|
Chris@16
|
66
|
Chris@16
|
67 #include <boost/predef/detail/test.h>
|
Chris@16
|
68 BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_ARM,BOOST_ARCH_ARM_NAME)
|
Chris@16
|
69
|
Chris@16
|
70
|
Chris@16
|
71 #endif
|