Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:48:05

0001 /*
0002 Copyright Rene Rivera 2008-2017
0003 Distributed under the Boost Software License, Version 1.0.
0004 (See accompanying file LICENSE_1_0.txt or copy at
0005 http://www.boost.org/LICENSE_1_0.txt)
0006 */
0007 
0008 #ifndef BOOST_PREDEF_COMPILER_INTEL_H
0009 #define BOOST_PREDEF_COMPILER_INTEL_H
0010 
0011 #include <boost/predef/version_number.h>
0012 #include <boost/predef/make.h>
0013 
0014 /* tag::reference[]
0015 = `BOOST_COMP_INTEL`
0016 
0017 http://en.wikipedia.org/wiki/Intel_C%2B%2B[Intel C/{CPP}] compiler.
0018 Version number available as major, minor, and patch.
0019 
0020 [options="header"]
0021 |===
0022 | {predef_symbol} | {predef_version}
0023 
0024 | `+__INTEL_COMPILER+` | {predef_detection}
0025 | `+__ICL+` | {predef_detection}
0026 | `+__ICC+` | {predef_detection}
0027 | `+__ECC+` | {predef_detection}
0028 
0029 | `+__INTEL_COMPILER+` | V.R
0030 | `+__INTEL_COMPILER+` and `+__INTEL_COMPILER_UPDATE+` | V.R.P
0031 |===
0032 */ // end::reference[]
0033 
0034 #define BOOST_COMP_INTEL BOOST_VERSION_NUMBER_NOT_AVAILABLE
0035 
0036 #if defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || \
0037     defined(__ECC)
0038 /* tag::reference[]
0039 NOTE: Because of an Intel mistake in the release version numbering when
0040 `__INTEL_COMPILER` is `9999` it is detected as version 12.1.0.
0041 */ // end::reference[]
0042 #   if !defined(BOOST_COMP_INTEL_DETECTION) && defined(__INTEL_COMPILER) && (__INTEL_COMPILER == 9999)
0043 #       define BOOST_COMP_INTEL_DETECTION BOOST_VERSION_NUMBER(12,1,0)
0044 #   endif
0045 #   if !defined(BOOST_COMP_INTEL_DETECTION) && defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE)
0046 #       define BOOST_COMP_INTEL_DETECTION BOOST_VERSION_NUMBER( \
0047             BOOST_VERSION_NUMBER_MAJOR(BOOST_PREDEF_MAKE_10_VVRR(__INTEL_COMPILER)), \
0048             BOOST_VERSION_NUMBER_MINOR(BOOST_PREDEF_MAKE_10_VVRR(__INTEL_COMPILER)), \
0049             __INTEL_COMPILER_UPDATE)
0050 #   endif
0051 #   if !defined(BOOST_COMP_INTEL_DETECTION) && defined(__INTEL_COMPILER)
0052 #       define BOOST_COMP_INTEL_DETECTION BOOST_PREDEF_MAKE_10_VVRR(__INTEL_COMPILER)
0053 #   endif
0054 #   if !defined(BOOST_COMP_INTEL_DETECTION)
0055 #       define BOOST_COMP_INTEL_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
0056 #   endif
0057 #endif
0058 
0059 #ifdef BOOST_COMP_INTEL_DETECTION
0060 #   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
0061 #       define BOOST_COMP_INTEL_EMULATED BOOST_COMP_INTEL_DETECTION
0062 #   else
0063 #       undef BOOST_COMP_INTEL
0064 #       define BOOST_COMP_INTEL BOOST_COMP_INTEL_DETECTION
0065 #   endif
0066 #   define BOOST_COMP_INTEL_AVAILABLE
0067 #   include <boost/predef/detail/comp_detected.h>
0068 #endif
0069 
0070 #define BOOST_COMP_INTEL_NAME "Intel C/C++"
0071 
0072 #endif
0073 
0074 #include <boost/predef/detail/test.h>
0075 BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_INTEL,BOOST_COMP_INTEL_NAME)
0076 
0077 #ifdef BOOST_COMP_INTEL_EMULATED
0078 #include <boost/predef/detail/test.h>
0079 BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_INTEL_EMULATED,BOOST_COMP_INTEL_NAME)
0080 #endif