1/*
2Copyright Rene Rivera 2008-2014
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_COMPILER_CLANG_H
9#define BOOST_PREDEF_COMPILER_CLANG_H
10
11#include <boost/predef/version_number.h>
12#include <boost/predef/make.h>
13
14/*`
15[heading `BOOST_COMP_CLANG`]
16
17[@http://en.wikipedia.org/wiki/Clang Clang] compiler.
18Version number available as major, minor, and patch.
19
20[table
21 [[__predef_symbol__] [__predef_version__]]
22
23 [[`__clang__`] [__predef_detection__]]
24
25 [[`__clang_major__`, `__clang_minor__`, `__clang_patchlevel__`] [V.R.P]]
26 ]
27 */
28
29#define BOOST_COMP_CLANG BOOST_VERSION_NUMBER_NOT_AVAILABLE
30
31#if defined(__clang__)
32# define BOOST_COMP_CLANG_DETECTION BOOST_VERSION_NUMBER(__clang_major__,__clang_minor__,__clang_patchlevel__)
33#endif
34
35#ifdef BOOST_COMP_CLANG_DETECTION
36# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
37# define BOOST_COMP_CLANG_EMULATED BOOST_COMP_CLANG_DETECTION
38# else
39# undef BOOST_COMP_CLANG
40# define BOOST_COMP_CLANG BOOST_COMP_CLANG_DETECTION
41# endif
42# define BOOST_COMP_CLANG_AVAILABLE
43# include <boost/predef/detail/comp_detected.h>
44#endif
45
46#define BOOST_COMP_CLANG_NAME "Clang"
47
48#include <boost/predef/detail/test.h>
49BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_CLANG,BOOST_COMP_CLANG_NAME)
50
51#ifdef BOOST_COMP_CLANG_EMULATED
52#include <boost/predef/detail/test.h>
53BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_CLANG_EMULATED,BOOST_COMP_CLANG_NAME)
54#endif
55
56
57#endif
58