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_IA64_H
9 #define BOOST_PREDEF_ARCHITECTURE_IA64_H
10 
11 #include <boost/predef/version_number.h>
12 #include <boost/predef/make.h>
13 
14 /* tag::reference[]
15 = `BOOST_ARCH_IA64`
16 
17 http://en.wikipedia.org/wiki/Ia64[Intel Itanium 64] architecture.
18 
19 [options="header"]
20 |===
21 | {predef_symbol} | {predef_version}
22 
23 | `+__ia64__+` | {predef_detection}
24 | `+_IA64+` | {predef_detection}
25 | `+__IA64__+` | {predef_detection}
26 | `+__ia64+` | {predef_detection}
27 | `+_M_IA64+` | {predef_detection}
28 | `+__itanium__+` | {predef_detection}
29 |===
30 */ // end::reference[]
31 
32 #define BOOST_ARCH_IA64 BOOST_VERSION_NUMBER_NOT_AVAILABLE
33 
34 #if defined(__ia64__) || defined(_IA64) || \
35     defined(__IA64__) || defined(__ia64) || \
36     defined(_M_IA64) || defined(__itanium__)
37 #   undef BOOST_ARCH_IA64
38 #   define BOOST_ARCH_IA64 BOOST_VERSION_NUMBER_AVAILABLE
39 #endif
40 
41 #if BOOST_ARCH_IA64
42 #   define BOOST_ARCH_IA64_AVAILABLE
43 #endif
44 
45 #if BOOST_ARCH_IA64
46 #   undef BOOST_ARCH_WORD_BITS_64
47 #   define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
48 #endif
49 
50 #define BOOST_ARCH_IA64_NAME "Intel Itanium 64"
51 
52 #endif
53 
54 #include <boost/predef/detail/test.h>
55 BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_IA64,BOOST_ARCH_IA64_NAME)
56