Merge pull request #2309 from mitza-oci/warnings
[ACE_TAO.git] / ACE / ace / config-win32-msvc-141.h
blob60de5347739fd9bc88afa42dd215740567aa6e33
1 /* -*- C++ -*- */
2 //=============================================================================
3 /**
4 * @file config-win32-msvc-141.h
6 * @brief Microsoft Visual C++ 14.1 configuration file.
8 * This file is the ACE configuration file for Microsoft Visual C++ 14.1 (as released with Visual Studio 2017).
10 * @note Do not include this file directly, include config-win32.h instead.
12 //=============================================================================
14 #ifndef ACE_CONFIG_WIN32_MSVC_141_H
15 #define ACE_CONFIG_WIN32_MSVC_141_H
16 #include /**/ "ace/pre.h"
18 #ifndef ACE_CONFIG_WIN32_H
19 #error Use config-win32.h in config.h instead of this header
20 #endif /* ACE_CONFIG_WIN32_H */
22 #ifndef ACE_WIN32_VC14
23 # define ACE_WIN32_VC14
24 #endif
25 #ifndef ACE_WIN32_VC141
26 # define ACE_WIN32_VC141
27 #endif
29 // Windows' timeval is non-conformant (defined in terms of long instead of
30 // time_t) and VC8 changed time_t to a 64-bit value even when compiling a
31 // 32-bit application. Therefore, ace/Time_Value needs to rearrange a few
32 // things for this compiler. See Time_Value.h for complete details.
33 #if !defined (_USE_32BIT_TIME_T)
34 # define ACE_HAS_TIME_T_LONG_MISMATCH
35 #endif
37 #define ACE_HAS_ITOA
39 #define ACE_ITOA_EQUIVALENT ::_itoa
40 #define ACE_STRCASECMP_EQUIVALENT ::_stricmp
41 #define ACE_STRNCASECMP_EQUIVALENT ::_strnicmp
42 #define ACE_WCSDUP_EQUIVALENT ::_wcsdup
43 #define ACE_FILENO_EQUIVALENT(X) (_get_osfhandle (::_fileno (X)))
45 #define ACE_HAS_SIG_ATOMIC_T
47 #define ACE_LACKS_STRPTIME
49 #define ACE_HAS_INTRIN_H
50 #define ACE_HAS_INTRINSIC_INTERLOCKED
52 #define ACE_HAS_INTRINSIC_BYTESWAP
54 #define ACE_LACKS_STRRECVFD
56 // Platform provides ACE_TLI function prototypes.
57 // For Win32, this is not really true, but saves a lot of hassle!
58 #define ACE_HAS_TLI_PROTOTYPES
60 // Platform support linebuffered streaming is broken
61 #define ACE_LACKS_LINEBUFFERED_STREAMBUF
63 // ace/iostream.h does not work with the standard cpp library (yet).
64 #if !defined (ACE_USES_OLD_IOSTREAMS)
65 # define ACE_LACKS_ACE_IOSTREAM
66 #endif /* ! ACE_USES_OLD_IOSTREAMS */
68 // There are too many instances of this warning to fix it right now.
69 // Maybe in the future.
71 // Disable warning of using Microsoft Extension.
72 #pragma warning(disable:4231)
74 // 'class1' : inherits 'class2::member' via dominance
75 #pragma warning(disable:4250)
77 #if !defined (ACE_HAS_TR24731_2005_CRT)
78 # define ACE_HAS_TR24731_2005_CRT
79 #endif
81 // A template can not be exported. Only an instantiation may be exported.
82 #define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT
84 // Windows Vista and Windows Server 2008 and newer do have native condition
85 // variables, but this is commented out because the support in ACE hasn't
86 // been completed
87 // #if defined (_WIN32_WINNT) && (_WIN32_WINNT >= 0x0600)
88 // # define ACE_HAS_WTHREADS_CONDITION_VARIABLE
89 // # undef ACE_LACKS_COND_T
90 // #endif
92 #define ACE_HAS_POSIX_TIME 1
93 #define ACE_LACKS_TIMESPEC_T 1
95 // According to MS the Visual Studio 2015 C-runtime has a
96 // C99 compliant vsnprintf/vsnwprintf, this is a change compared to
97 // previous versions
98 #define ACE_HAS_C99_VSNPRINTF
99 #define ACE_HAS_C99_VSNWPRINTF
101 // Visual Studio 2015 has 3 parameter wcstok
102 #define ACE_HAS_3_PARAM_WCSTOK
104 // Visual Studio 2015 has adequate C++11 support
105 #define ACE_HAS_CPP11
107 #define ACE_PUTENV_EQUIVALENT ::_putenv
108 #define ACE_TEMPNAM_EQUIVALENT ::_tempnam
109 #define ACE_STRDUP_EQUIVALENT ::_strdup
110 #define ACE_MKDIR_EQUIVALENT ::_mkdir
111 #define ACE_ACCESS_EQUIVALENT ::_access
112 #define ACE_CHDIR_EQUIVALENT ::_chdir
113 #define ACE_RMDIR_EQUIVALENT ::_rmdir
114 #define ACE_GETCWD_EQUIVALENT ::_getcwd
115 #define ACE_SWAB_EQUIVALENT ::_swab
116 #define ACE_UNLINK_EQUIVALENT ::_unlink
118 #define ACE_HAS_STRNLEN
119 #define ACE_HAS_WCSNLEN
121 #define ACE_LACKS_STRUCT_DIR
122 #define ACE_LACKS_OPENDIR
123 #define ACE_LACKS_CLOSEDIR
124 #define ACE_LACKS_READDIR
126 #define ACE_LACKS_MODE_T
127 #define ACE_LACKS_PID_T
129 #define ACE_LACKS_NLINK_T
130 #define ACE_LACKS_UID_T
131 #define ACE_LACKS_GID_T
133 #if _MSVC_LANG >= 201402L
134 # define ACE_HAS_CPP14
135 #endif /* _MSVC_LANG >= 201402L */
137 #if _MSVC_LANG >= 201703L
138 # define ACE_HAS_CPP17
139 #endif /* _MSVC_LANG >= 201703L */
141 #if _MSVC_LANG >= 202002L
142 # define ACE_HAS_CPP20
143 #endif /* _MSVC_LANG >= 202002L */
145 #include /**/ "ace/post.h"
146 #endif /* ACE_CONFIG_WIN32_MSVC_141_H */