Chris@16: /* Chris@101: Copyright Rene Rivera 2008-2013 Chris@16: Distributed under the Boost Software License, Version 1.0. Chris@16: (See accompanying file LICENSE_1_0.txt or copy at Chris@16: http://www.boost.org/LICENSE_1_0.txt) Chris@16: */ Chris@16: Chris@16: #ifndef BOOST_PREDEF_ARCHITECTURE_SUPERH_H Chris@16: #define BOOST_PREDEF_ARCHITECTURE_SUPERH_H Chris@16: Chris@16: #include Chris@16: #include Chris@16: Chris@16: /*` Chris@16: [heading `BOOST_ARCH_SH`] Chris@16: Chris@16: [@http://en.wikipedia.org/wiki/SuperH SuperH] architecture: Chris@16: If available versions \[1-5\] are specifically detected. Chris@16: Chris@16: [table Chris@16: [[__predef_symbol__] [__predef_version__]] Chris@16: Chris@16: [[`__sh__`] [__predef_detection__]] Chris@16: Chris@16: [[`__SH5__`] [5.0.0]] Chris@16: [[`__SH4__`] [4.0.0]] Chris@16: [[`__sh3__`] [3.0.0]] Chris@16: [[`__SH3__`] [3.0.0]] Chris@16: [[`__sh2__`] [2.0.0]] Chris@16: [[`__sh1__`] [1.0.0]] Chris@16: ] Chris@16: */ Chris@16: Chris@16: #define BOOST_ARCH_SH BOOST_VERSION_NUMBER_NOT_AVAILABLE Chris@16: Chris@16: #if defined(__sh__) Chris@16: # undef BOOST_ARCH_SH Chris@16: # if !defined(BOOST_ARCH_SH) && (defined(__SH5__)) Chris@16: # define BOOST_ARCH_SH BOOST_VERSION_NUMBER(5,0,0) Chris@16: # endif Chris@16: # if !defined(BOOST_ARCH_SH) && (defined(__SH4__)) Chris@16: # define BOOST_ARCH_SH BOOST_VERSION_NUMBER(4,0,0) Chris@16: # endif Chris@16: # if !defined(BOOST_ARCH_SH) && (defined(__sh3__) || defined(__SH3__)) Chris@16: # define BOOST_ARCH_SH BOOST_VERSION_NUMBER(3,0,0) Chris@16: # endif Chris@16: # if !defined(BOOST_ARCH_SH) && (defined(__sh2__)) Chris@16: # define BOOST_ARCH_SH BOOST_VERSION_NUMBER(2,0,0) Chris@16: # endif Chris@16: # if !defined(BOOST_ARCH_SH) && (defined(__sh1__)) Chris@16: # define BOOST_ARCH_SH BOOST_VERSION_NUMBER(1,0,0) Chris@16: # endif Chris@16: # if !defined(BOOST_ARCH_SH) Chris@16: # define BOOST_ARCH_SH BOOST_VERSION_NUMBER_AVAILABLE Chris@16: # endif Chris@16: #endif Chris@16: Chris@16: #if BOOST_ARCH_SH Chris@16: # define BOOST_ARCH_SH_AVAILABLE Chris@16: #endif Chris@16: Chris@16: #define BOOST_ARCH_SH_NAME "SuperH" Chris@16: Chris@16: #include Chris@16: BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_SH,BOOST_ARCH_SH_NAME) Chris@16: Chris@16: Chris@16: #endif