Imported Upstream version 1.57.0
[platform/upstream/boost.git] / boost / predef / compiler / llvm.h
1 /*
2 Copyright Rene Rivera 2008-2014
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_COMPILER_LLVM_H
9 #define BOOST_PREDEF_COMPILER_LLVM_H
10
11 /* Other compilers that emulate this one need to be detected first. */
12
13 #include <boost/predef/compiler/clang.h>
14
15 #include <boost/predef/version_number.h>
16 #include <boost/predef/make.h>
17
18 /*`
19 [heading `BOOST_COMP_LLVM`]
20
21 [@http://en.wikipedia.org/wiki/LLVM LLVM] compiler.
22
23 [table
24     [[__predef_symbol__] [__predef_version__]]
25
26     [[`__llvm__`] [__predef_detection__]]
27     ]
28  */
29
30 #define BOOST_COMP_LLVM BOOST_VERSION_NUMBER_NOT_AVAILABLE
31
32 #if defined(__llvm__)
33 #   define BOOST_COMP_LLVM_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
34 #endif
35
36 #ifdef BOOST_COMP_LLVM_DETECTION
37 #   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
38 #       define BOOST_COMP_LLVM_EMULATED BOOST_COMP_LLVM_DETECTION
39 #   else
40 #       undef BOOST_COMP_LLVM
41 #       define BOOST_COMP_LLVM BOOST_COMP_LLVM_DETECTION
42 #   endif
43 #   define BOOST_COMP_LLVM_AVAILABLE
44 #   include <boost/predef/detail/comp_detected.h>
45 #endif
46
47 #define BOOST_COMP_LLVM_NAME "LLVM"
48
49 #include <boost/predef/detail/test.h>
50 BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_LLVM,BOOST_COMP_LLVM_NAME)
51
52 #ifdef BOOST_COMP_LLVM_EMULATED
53 #include <boost/predef/detail/test.h>
54 BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_LLVM_EMULATED,BOOST_COMP_LLVM_NAME)
55 #endif
56
57
58 #endif