Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:48:05

0001 /*
0002 Copyright Rene Rivera 2008-2015
0003 Distributed under the Boost Software License, Version 1.0.
0004 (See accompanying file LICENSE_1_0.txt or copy at
0005 http://www.boost.org/LICENSE_1_0.txt)
0006 */
0007 
0008 #ifndef BOOST_PREDEF_ARCHITECTURE_SUPERH_H
0009 #define BOOST_PREDEF_ARCHITECTURE_SUPERH_H
0010 
0011 #include <boost/predef/version_number.h>
0012 #include <boost/predef/make.h>
0013 
0014 /* tag::reference[]
0015 = `BOOST_ARCH_SH`
0016 
0017 http://en.wikipedia.org/wiki/SuperH[SuperH] architecture:
0018 If available versions [1-5] are specifically detected.
0019 
0020 [options="header"]
0021 |===
0022 | {predef_symbol} | {predef_version}
0023 
0024 | `+__sh__+` | {predef_detection}
0025 
0026 | `+__SH5__+` | 5.0.0
0027 | `+__SH4__+` | 4.0.0
0028 | `+__sh3__+` | 3.0.0
0029 | `+__SH3__+` | 3.0.0
0030 | `+__sh2__+` | 2.0.0
0031 | `+__sh1__+` | 1.0.0
0032 |===
0033 */ // end::reference[]
0034 
0035 #define BOOST_ARCH_SH BOOST_VERSION_NUMBER_NOT_AVAILABLE
0036 
0037 #if defined(__sh__)
0038 #   undef BOOST_ARCH_SH
0039 #   if !defined(BOOST_ARCH_SH) && (defined(__SH5__))
0040 #       define BOOST_ARCH_SH BOOST_VERSION_NUMBER(5,0,0)
0041 #   endif
0042 #   if !defined(BOOST_ARCH_SH) && (defined(__SH4__))
0043 #       define BOOST_ARCH_SH BOOST_VERSION_NUMBER(4,0,0)
0044 #   endif
0045 #   if !defined(BOOST_ARCH_SH) && (defined(__sh3__) || defined(__SH3__))
0046 #       define BOOST_ARCH_SH BOOST_VERSION_NUMBER(3,0,0)
0047 #   endif
0048 #   if !defined(BOOST_ARCH_SH) && (defined(__sh2__))
0049 #       define BOOST_ARCH_SH BOOST_VERSION_NUMBER(2,0,0)
0050 #   endif
0051 #   if !defined(BOOST_ARCH_SH) && (defined(__sh1__))
0052 #       define BOOST_ARCH_SH BOOST_VERSION_NUMBER(1,0,0)
0053 #   endif
0054 #   if !defined(BOOST_ARCH_SH)
0055 #       define BOOST_ARCH_SH BOOST_VERSION_NUMBER_AVAILABLE
0056 #   endif
0057 #endif
0058 
0059 #if BOOST_ARCH_SH
0060 #   define BOOST_ARCH_SH_AVAILABLE
0061 #endif
0062 
0063 #if BOOST_ARCH_SH
0064 #   if BOOST_ARCH_SH >= BOOST_VERSION_NUMBER(5,0,0)
0065 #       undef BOOST_ARCH_WORD_BITS_64
0066 #       define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
0067 #   elif BOOST_ARCH_SH >= BOOST_VERSION_NUMBER(3,0,0)
0068 #       undef BOOST_ARCH_WORD_BITS_32
0069 #       define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
0070 #   else
0071 #       undef BOOST_ARCH_WORD_BITS_16
0072 #       define BOOST_ARCH_WORD_BITS_16 BOOST_VERSION_NUMBER_AVAILABLE
0073 #   endif
0074 #endif
0075 
0076 #define BOOST_ARCH_SH_NAME "SuperH"
0077 
0078 #endif
0079 
0080 #include <boost/predef/detail/test.h>
0081 BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_SH,BOOST_ARCH_SH_NAME)