Initial implementation of exclusive definition of compiler detection

with emulated definitions.
This commit is contained in:
Rene Rivera committed 2014-01-16 15:50:19 -06:00
1 parent 3ccc33fa28
commit a3a555610c
30 files changed
+516 -175

No files matched your search

+19 -4
View File
@@ -1,5 +1,5 @@
/*
Copyright Rene Rivera 2008-2013
Copyright Rene Rivera 2008-2014
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
@@ -8,6 +8,10 @@ http://www.boost.org/LICENSE_1_0.txt)
#ifndef BOOST_PREDEF_COMPILER_LLVM_H
#define BOOST_PREDEF_COMPILER_LLVM_H
/* Other compilers that emulate this one need to be detected first. */
#include <boost/predef/compiler/clang.h>
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
@@ -26,12 +30,18 @@ http://www.boost.org/LICENSE_1_0.txt)
#define BOOST_COMP_LLVM BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__llvm__)
# undef BOOST_COMP_LLVM
# define BOOST_COMP_LLVM BOOST_VERSION_NUMBER_AVAILABLE
# define BOOST_COMP_LLVM_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
#endif
#if BOOST_COMP_LLVM
#ifdef BOOST_COMP_LLVM_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_LLVM_EMULATED BOOST_COMP_LLVM_DETECTION
# else
# undef BOOST_COMP_LLVM
# define BOOST_COMP_LLVM BOOST_COMP_LLVM_DETECTION
# endif
# define BOOST_COMP_LLVM_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_LLVM_NAME "LLVM"
@@ -39,5 +49,10 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_LLVM,BOOST_COMP_LLVM_NAME)
#ifdef BOOST_COMP_LLVM_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_LLVM_EMULATED,BOOST_COMP_LLVM_NAME)
#endif
#endif