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 MSGPACK_PREDEF_COMPILER_LLVM_H 9 #define MSGPACK_PREDEF_COMPILER_LLVM_H 10 11 /* Other compilers that emulate this one need to be detected first. */ 12 13 #include <rpc/msgpack/predef/compiler/clang.h> 14 15 #include <rpc/msgpack/predef/version_number.h> 16 #include <rpc/msgpack/predef/make.h> 17 18 /*` 19 [heading `MSGPACK_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 MSGPACK_COMP_LLVM MSGPACK_VERSION_NUMBER_NOT_AVAILABLE 31 32 #if defined(__llvm__) 33 # define MSGPACK_COMP_LLVM_DETECTION MSGPACK_VERSION_NUMBER_AVAILABLE 34 #endif 35 36 #ifdef MSGPACK_COMP_LLVM_DETECTION 37 # if defined(MSGPACK_PREDEF_DETAIL_COMP_DETECTED) 38 # define MSGPACK_COMP_LLVM_EMULATED MSGPACK_COMP_LLVM_DETECTION 39 # else 40 # undef MSGPACK_COMP_LLVM 41 # define MSGPACK_COMP_LLVM MSGPACK_COMP_LLVM_DETECTION 42 # endif 43 # define MSGPACK_COMP_LLVM_AVAILABLE 44 # include <rpc/msgpack/predef/detail/comp_detected.h> 45 #endif 46 47 #define MSGPACK_COMP_LLVM_NAME "LLVM" 48 49 #include <rpc/msgpack/predef/detail/test.h> 50 MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_LLVM,MSGPACK_COMP_LLVM_NAME) 51 52 #ifdef MSGPACK_COMP_LLVM_EMULATED 53 #include <rpc/msgpack/predef/detail/test.h> 54 MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_LLVM_EMULATED,MSGPACK_COMP_LLVM_NAME) 55 #endif 56 57 58 #endif 59