PLCnext API Documentation 24.0.0.71
CxxConfig.h
1
2//
3// Copyright PHOENIX CONTACT Electronics GmbH
4//
6#pragma once
7
8#ifndef ARP_INSIDE_ARP_H
9 #error Never include 'CxxConfig.h' directly, just include 'Arp.h'
10#endif
11
12#ifdef _MSC_VER
13
14#define ARP_CXX_COMPILER_MSC
15#define ARP_CXX_TOOLSET_MSVC
16
17#define ARP_DEPRECATED_IGNORE_BEGIN \
18 _Pragma("warning(push)") \
19 _Pragma("warning(disable:4996)")
20
21#define ARP_DEPRECATED_IGNORE_END \
22 _Pragma("warning(pop)")
23
24#elif defined __GNUC__
25
26#define ARP_CXX_COMPILER_GCC
27
28#ifdef __MINGW32__
29 #define ARP_CXX_TOOLSET_MINGW
30#elif defined __CYGWIN__
31 #define ARP_CXX_TOOLSET_CYGWIN
32#else
33 #define ARP_CXX_TOOLSET_GNUC
34#endif
35
36#define ARP_DEPRECATED_IGNORE_BEGIN \
37 _Pragma("GCC diagnostic push") \
38 _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
39
40#define ARP_DEPRECATED_IGNORE_END \
41 _Pragma("GCC diagnostic pop")
42
43#else
44
45#error "Compiler toolset not supported"
46
47#endif
48
49#define ARP_DEPRECATED(msg) [[deprecated(msg)]]
50
51#ifdef ARP_DOXIFY
52
54
56 #define ARP_CXX_COMPILER_MSC
57
59 #define ARP_CXX_COMPILER_GCC
60
62 #define ARP_CXX_TOOLSET_MSVC
63
65 #define ARP_CXX_TOOLSET_GNUC
66
68 #define ARP_CXX_TOOLSET_CYGWIN
69
71 #define ARP_CXX_TOOLSET_MINGW
72
74 #define ARP_DEPRECATED(msg)
75
76#endif // ARP_DOXIFY