PLCnext API Documentation 25.0.2.69
CxxConfig.hpp
Go to the documentation of this file.
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
7
8#ifndef ARP_INSIDE_ARP_BASE_CORE_ARP_H
9 #error Never include 'CxxConfig.hpp' directly, just include 'Arp.hpp'
10#endif
11
14
15#ifdef _MSC_VER
16
17#define ARP_CXX_COMPILER_MSC
18#define ARP_CXX_TOOLSET_MSVC
19
20#define ARP_DEPRECATED_IGNORE_BEGIN \
21 _Pragma("warning(push)") \
22 _Pragma("warning(disable:4996)")
23
24#define ARP_DEPRECATED_IGNORE_END \
25 _Pragma("warning(pop)")
26
27#elif defined __GNUC__
28
29#define ARP_CXX_COMPILER_GCC
30
31#ifdef __MINGW32__
32 #define ARP_CXX_TOOLSET_MINGW
33#elif defined __CYGWIN__
34 #define ARP_CXX_TOOLSET_CYGWIN
35#else
36 #define ARP_CXX_TOOLSET_GNUC
37#endif
38
39#define ARP_DEPRECATED_IGNORE_BEGIN \
40 _Pragma("GCC diagnostic push") \
41 _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
42
43#define ARP_DEPRECATED_IGNORE_END \
44 _Pragma("GCC diagnostic pop")
45
46#else
47
48#error "Compiler toolset not supported"
49
50#endif
51
52#define ARP_DEPRECATED(msg) [[deprecated(msg)]]