Chris@16
|
1 /*
|
Chris@101
|
2 Copyright Rene Rivera 2008-2013
|
Chris@16
|
3 Distributed under the Boost Software License, Version 1.0.
|
Chris@16
|
4 (See accompanying file LICENSE_1_0.txt or copy at
|
Chris@16
|
5 http://www.boost.org/LICENSE_1_0.txt)
|
Chris@16
|
6 */
|
Chris@16
|
7
|
Chris@16
|
8 #ifndef BOOST_PREDEF_ARCHITECTURE_X86_32_H
|
Chris@16
|
9 #define BOOST_PREDEF_ARCHITECTURE_X86_32_H
|
Chris@16
|
10
|
Chris@16
|
11 #include <boost/predef/version_number.h>
|
Chris@16
|
12 #include <boost/predef/make.h>
|
Chris@16
|
13
|
Chris@16
|
14 /*`
|
Chris@16
|
15 [heading `BOOST_ARCH_X86_32`]
|
Chris@16
|
16
|
Chris@16
|
17 [@http://en.wikipedia.org/wiki/X86 Intel x86] architecture:
|
Chris@16
|
18 If available versions \[3-6\] are specifically detected.
|
Chris@16
|
19
|
Chris@16
|
20 [table
|
Chris@16
|
21 [[__predef_symbol__] [__predef_version__]]
|
Chris@16
|
22
|
Chris@16
|
23 [[`i386`] [__predef_detection__]]
|
Chris@16
|
24 [[`__i386__`] [__predef_detection__]]
|
Chris@16
|
25 [[`__i486__`] [__predef_detection__]]
|
Chris@16
|
26 [[`__i586__`] [__predef_detection__]]
|
Chris@16
|
27 [[`__i686__`] [__predef_detection__]]
|
Chris@16
|
28 [[`__i386`] [__predef_detection__]]
|
Chris@16
|
29 [[`_M_IX86`] [__predef_detection__]]
|
Chris@16
|
30 [[`_X86_`] [__predef_detection__]]
|
Chris@16
|
31 [[`__THW_INTEL__`] [__predef_detection__]]
|
Chris@16
|
32 [[`__I86__`] [__predef_detection__]]
|
Chris@16
|
33 [[`__INTEL__`] [__predef_detection__]]
|
Chris@16
|
34
|
Chris@16
|
35 [[`__I86__`] [V.0.0]]
|
Chris@16
|
36 [[`_M_IX86`] [V.0.0]]
|
Chris@16
|
37 [[`__i686__`] [6.0.0]]
|
Chris@16
|
38 [[`__i586__`] [5.0.0]]
|
Chris@16
|
39 [[`__i486__`] [4.0.0]]
|
Chris@16
|
40 [[`__i386__`] [3.0.0]]
|
Chris@16
|
41 ]
|
Chris@16
|
42 */
|
Chris@16
|
43
|
Chris@16
|
44 #define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
Chris@16
|
45
|
Chris@16
|
46 #if defined(i386) || defined(__i386__) || \
|
Chris@16
|
47 defined(__i486__) || defined(__i586__) || \
|
Chris@16
|
48 defined(__i686__) || defined(__i386) || \
|
Chris@16
|
49 defined(_M_IX86) || defined(_X86_) || \
|
Chris@16
|
50 defined(__THW_INTEL__) || defined(__I86__) || \
|
Chris@16
|
51 defined(__INTEL__)
|
Chris@16
|
52 # undef BOOST_ARCH_X86_32
|
Chris@16
|
53 # if !defined(BOOST_ARCH_X86_32) && defined(__I86__)
|
Chris@16
|
54 # define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER(__I86__,0,0)
|
Chris@16
|
55 # endif
|
Chris@16
|
56 # if !defined(BOOST_ARCH_X86_32) && defined(_M_IX86)
|
Chris@16
|
57 # define BOOST_ARCH_X86_32 BOOST_PREDEF_MAKE_10_VV00(_M_IX86)
|
Chris@16
|
58 # endif
|
Chris@16
|
59 # if !defined(BOOST_ARCH_X86_32) && defined(__i686__)
|
Chris@16
|
60 # define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER(6,0,0)
|
Chris@16
|
61 # endif
|
Chris@16
|
62 # if !defined(BOOST_ARCH_X86_32) && defined(__i586__)
|
Chris@16
|
63 # define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER(5,0,0)
|
Chris@16
|
64 # endif
|
Chris@16
|
65 # if !defined(BOOST_ARCH_X86_32) && defined(__i486__)
|
Chris@16
|
66 # define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER(4,0,0)
|
Chris@16
|
67 # endif
|
Chris@16
|
68 # if !defined(BOOST_ARCH_X86_32) && defined(__i386__)
|
Chris@16
|
69 # define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER(3,0,0)
|
Chris@16
|
70 # endif
|
Chris@16
|
71 # if !defined(BOOST_ARCH_X86_32)
|
Chris@16
|
72 # define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER_AVAILABLE
|
Chris@16
|
73 # endif
|
Chris@16
|
74 #endif
|
Chris@16
|
75
|
Chris@16
|
76 #if BOOST_ARCH_X86_32
|
Chris@16
|
77 # define BOOST_ARCH_X86_32_AVAILABLE
|
Chris@16
|
78 #endif
|
Chris@16
|
79
|
Chris@16
|
80 #define BOOST_ARCH_X86_32_NAME "Intel x86-32"
|
Chris@16
|
81
|
Chris@16
|
82 #include <boost/predef/detail/test.h>
|
Chris@16
|
83 BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_X86_32,BOOST_ARCH_X86_32_NAME)
|
Chris@16
|
84
|
Chris@16
|
85 #include <boost/predef/architecture/x86.h>
|
Chris@16
|
86
|
Chris@16
|
87 #endif
|