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