]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/boost/predef/architecture/arm.h
import new upstream nautilus stable release 14.2.8
[ceph.git] / ceph / src / boost / boost / predef / architecture / arm.h
1 /*
2 Copyright Rene Rivera 2008-2019
3 Copyright Franz Detro 2014
4 Copyright (c) Microsoft Corporation 2014
5 Distributed under the Boost Software License, Version 1.0.
6 (See accompanying file LICENSE_1_0.txt or copy at
7 http://www.boost.org/LICENSE_1_0.txt)
8 */
9
10 #ifndef BOOST_PREDEF_ARCHITECTURE_ARM_H
11 #define BOOST_PREDEF_ARCHITECTURE_ARM_H
12
13 #include <boost/predef/version_number.h>
14 #include <boost/predef/make.h>
15
16 /*`
17 [heading `BOOST_ARCH_ARM`]
18
19 [@http://en.wikipedia.org/wiki/ARM_architecture ARM] architecture.
20
21 [table
22 [[__predef_symbol__] [__predef_version__]]
23
24 [[`__ARM_ARCH`] [__predef_detection__]]
25 [[`__TARGET_ARCH_ARM`] [__predef_detection__]]
26 [[`__TARGET_ARCH_THUMB`] [__predef_detection__]]
27 [[`_M_ARM`] [__predef_detection__]]
28 [[`__arm__`] [__predef_detection__]]
29 [[`__arm64`] [__predef_detection__]]
30 [[`__thumb__`] [__predef_detection__]]
31 [[`_M_ARM64`] [__predef_detection__]]
32 [[`__aarch64__`] [__predef_detection__]]
33 [[`__AARCH64EL__`] [__predef_detection__]]
34 [[`__ARM_ARCH_7__`] [__predef_detection__]]
35 [[`__ARM_ARCH_7A__`] [__predef_detection__]]
36 [[`__ARM_ARCH_7R__`] [__predef_detection__]]
37 [[`__ARM_ARCH_7M__`] [__predef_detection__]]
38 [[`__ARM_ARCH_6K__`] [__predef_detection__]]
39 [[`__ARM_ARCH_6Z__`] [__predef_detection__]]
40 [[`__ARM_ARCH_6KZ__`] [__predef_detection__]]
41 [[`__ARM_ARCH_6T2__`] [__predef_detection__]]
42 [[`__ARM_ARCH_5TE__`] [__predef_detection__]]
43 [[`__ARM_ARCH_5TEJ__`] [__predef_detection__]]
44 [[`__ARM_ARCH_4T__`] [__predef_detection__]]
45 [[`__ARM_ARCH_4__`] [__predef_detection__]]
46
47 [[`__ARM_ARCH`] [V.0.0]]
48 [[`__TARGET_ARCH_ARM`] [V.0.0]]
49 [[`__TARGET_ARCH_THUMB`] [V.0.0]]
50 [[`_M_ARM`] [V.0.0]]
51 [[`__arm64`] [8.0.0]]
52 [[`_M_ARM64`] [8.0.0]]
53 [[`__aarch64__`] [8.0.0]]
54 [[`__AARCH64EL__`] [8.0.0]]
55 [[`__ARM_ARCH_7__`] [7.0.0]]
56 [[`__ARM_ARCH_7A__`] [7.0.0]]
57 [[`__ARM_ARCH_7R__`] [7.0.0]]
58 [[`__ARM_ARCH_7M__`] [7.0.0]]
59 [[`__ARM_ARCH_6K__`] [6.0.0]]
60 [[`__ARM_ARCH_6Z__`] [6.0.0]]
61 [[`__ARM_ARCH_6KZ__`] [6.0.0]]
62 [[`__ARM_ARCH_6T2__`] [6.0.0]]
63 [[`__ARM_ARCH_5TE__`] [5.0.0]]
64 [[`__ARM_ARCH_5TEJ__`] [5.0.0]]
65 [[`__ARM_ARCH_4T__`] [4.0.0]]
66 [[`__ARM_ARCH_4__`] [4.0.0]]
67 ]
68 */
69
70 #define BOOST_ARCH_ARM BOOST_VERSION_NUMBER_NOT_AVAILABLE
71
72 #if \
73 defined(__ARM_ARCH) || defined(__TARGET_ARCH_ARM) || \
74 defined(__TARGET_ARCH_THUMB) || defined(_M_ARM) || \
75 defined(__arm__) || defined(__arm64) || defined(__thumb__) || \
76 defined(_M_ARM64) || defined(__aarch64__) || defined(__AARCH64EL__) || \
77 defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || \
78 defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || \
79 defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) || \
80 defined(__ARM_ARCH_6KZ__) || defined(__ARM_ARCH_6T2__) || \
81 defined(__ARM_ARCH_5TE__) || defined(__ARM_ARCH_5TEJ__) || \
82 defined(__ARM_ARCH_4T__) || defined(__ARM_ARCH_4__)
83 # undef BOOST_ARCH_ARM
84 # if !defined(BOOST_ARCH_ARM) && defined(__ARM_ARCH)
85 # define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(__ARM_ARCH,0,0)
86 # endif
87 # if !defined(BOOST_ARCH_ARM) && defined(__TARGET_ARCH_ARM)
88 # define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(__TARGET_ARCH_ARM,0,0)
89 # endif
90 # if !defined(BOOST_ARCH_ARM) && defined(__TARGET_ARCH_THUMB)
91 # define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(__TARGET_ARCH_THUMB,0,0)
92 # endif
93 # if !defined(BOOST_ARCH_ARM) && defined(_M_ARM)
94 # define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(_M_ARM,0,0)
95 # endif
96 # if !defined(BOOST_ARCH_ARM) && ( \
97 defined(__arm64) || defined(_M_ARM64) || defined(__aarch64__) || \
98 defined(__AARCH64EL__) )
99 # define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(8,0,0)
100 # endif
101 # if !defined(BOOST_ARCH_ARM) && ( \
102 defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || \
103 defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) )
104 # define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(7,0,0)
105 # endif
106 # if !defined(BOOST_ARCH_ARM) && ( \
107 defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) || \
108 defined(__ARM_ARCH_6KZ__) || defined(__ARM_ARCH_6T2__) )
109 # define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(6,0,0)
110 # endif
111 # if !defined(BOOST_ARCH_ARM) && ( \
112 defined(__ARM_ARCH_5TE__) || defined(__ARM_ARCH_5TEJ__) )
113 # define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(5,0,0)
114 # endif
115 # if !defined(BOOST_ARCH_ARM) && ( \
116 defined(__ARM_ARCH_4T__) || defined(__ARM_ARCH_4__) )
117 # define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(4,0,0)
118 # endif
119 # if !defined(BOOST_ARCH_ARM)
120 # define BOOST_ARCH_ARM BOOST_VERSION_NUMBER_AVAILABLE
121 # endif
122 #endif
123
124 #if BOOST_ARCH_ARM
125 # define BOOST_ARCH_ARM_AVAILABLE
126 #endif
127
128 #define BOOST_ARCH_ARM_NAME "ARM"
129
130 #endif
131
132 #include <boost/predef/detail/test.h>
133 BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_ARM,BOOST_ARCH_ARM_NAME)