16#ifndef CPP_API_EXTENSIONS_SRC_SME_AQPP_ABSTRACTION_COMPILER_IDENTIFICATION_H
17#define CPP_API_EXTENSIONS_SRC_SME_AQPP_ABSTRACTION_COMPILER_IDENTIFICATION_H
20#if defined(_MSVC_LANG)
21 static_assert(_MSVC_LANG >= 201703L);
22#elif defined(__cplusplus)
24 static_assert( __cplusplus >= 201703L,
"C++ 17 is required to use this library");
28#if !(defined( __INTEL_LLVM_COMPILER) || defined( __GNUC__) || defined ( _MSC_VER))
29 static_assert(
false,
"Only GCC, Visual Studio or Intel ICX & DPCPP Compilers Supported at this time.")
33#
if defined( SYCL_LANGUAGE_VERSION )
34 static_assert( SYCL_LANGUAGE_VERSION >= 202001,
"Version 202001 or higher required if using SYCL language.");
37#if defined( __INTEL_LLVM_COMPILER )
38 static_assert( __INTEL_LLVM_COMPILER >= 202110,
"Version 202110 or higher required if using DPCPP or ICX.");
41#if defined( __GNUC__ )
42 static_assert( __GNUC__ >= 11,
"Version 11 or higher required if using GNU/GCC.");
46 static_assert( _MSC_VER >= 1929,
"Version 19.11 or higher required if using Visual Studio.");
49#if defined( __INTEL_LLVM_COMPILER ) || defined( __INTEL_COMPILER ) || defined( __GNUC__ )
50 #define SUPPORT_GCC_ATTRIBUTES 1
52#elif defined(WIN32) || defined(_WIN32)
53 #define SUPPORT_MS_ATTRIBUTES 1
57#if defined( _MSVC_LANG)
58 #if( _MSVC_LANG >= 202002)
60 #elif (_MSVC_LANG >= 201703L)
63#elif defined( __cplusplus)
64 #if (__cplusplus >= 202002L)
66 #elif (__cplusplus >= 201703L)
71#if __has_include("windows.h")