1/*
2Copyright Rene Rivera 2008-2015
3Distributed under the Boost Software License, Version 1.0.
4(See accompanying file LICENSE_1_0.txt or copy at
5http://www.boost.org/LICENSE_1_0.txt)
6*/
7
8#ifndef BOOST_PREDEF_ARCHITECTURE_M68K_H
9#define BOOST_PREDEF_ARCHITECTURE_M68K_H
10
11#include <boost/predef/version_number.h>
12#include <boost/predef/make.h>
13
14/* tag::reference[]
15= `BOOST_ARCH_M68K`
16
17http://en.wikipedia.org/wiki/M68k[Motorola 68k] architecture.
18
19[options="header"]
20|===
21| {predef_symbol} | {predef_version}
22
23| `+__m68k__+` | {predef_detection}
24| `M68000` | {predef_detection}
25
26| `+__mc68060__+` | 6.0.0
27| `mc68060` | 6.0.0
28| `+__mc68060+` | 6.0.0
29| `+__mc68040__+` | 4.0.0
30| `mc68040` | 4.0.0
31| `+__mc68040+` | 4.0.0
32| `+__mc68030__+` | 3.0.0
33| `mc68030` | 3.0.0
34| `+__mc68030+` | 3.0.0
35| `+__mc68020__+` | 2.0.0
36| `mc68020` | 2.0.0
37| `+__mc68020+` | 2.0.0
38| `+__mc68010__+` | 1.0.0
39| `mc68010` | 1.0.0
40| `+__mc68010+` | 1.0.0
41| `+__mc68000__+` | 0.0.1
42| `mc68000` | 0.0.1
43| `+__mc68000+` | 0.0.1
44|===
45*/ // end::reference[]
46
47#define BOOST_ARCH_M68K BOOST_VERSION_NUMBER_NOT_AVAILABLE
48
49#if defined(__m68k__) || defined(M68000)
50# undef BOOST_ARCH_M68K
51# if !defined(BOOST_ARCH_M68K) && (defined(__mc68060__) || defined(mc68060) || defined(__mc68060))
52# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(6,0,0)
53# endif
54# if !defined(BOOST_ARCH_M68K) && (defined(__mc68040__) || defined(mc68040) || defined(__mc68040))
55# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(4,0,0)
56# endif
57# if !defined(BOOST_ARCH_M68K) && (defined(__mc68030__) || defined(mc68030) || defined(__mc68030))
58# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(3,0,0)
59# endif
60# if !defined(BOOST_ARCH_M68K) && (defined(__mc68020__) || defined(mc68020) || defined(__mc68020))
61# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(2,0,0)
62# endif
63# if !defined(BOOST_ARCH_M68K) && (defined(__mc68010__) || defined(mc68010) || defined(__mc68010))
64# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(1,0,0)
65# endif
66# if !defined(BOOST_ARCH_M68K) && (defined(__mc68000__) || defined(mc68000) || defined(__mc68000))
67# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER_AVAILABLE
68# endif
69# if !defined(BOOST_ARCH_M68K)
70# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER_AVAILABLE
71# endif
72#endif
73
74#if BOOST_ARCH_M68K
75# define BOOST_ARCH_M68K_AVAILABLE
76#endif
77
78#define BOOST_ARCH_M68K_NAME "Motorola 68k"
79
80#endif
81
82#include <boost/predef/detail/test.h>
83BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_M68K,BOOST_ARCH_M68K_NAME)
84

source code of include/boost/predef/architecture/m68k.h