1 /* 2 Copyright Rene Rivera 2008-2015 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 #endif 50 51 #include <boost/predef/detail/test.h> 52 BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_LLVM,BOOST_COMP_LLVM_NAME) 53 54 #ifdef BOOST_COMP_LLVM_EMULATED 55 #include <boost/predef/detail/test.h> 56 BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_LLVM_EMULATED,BOOST_COMP_LLVM_NAME) 57 #endif 58