comparison Resources/ThirdParty/VisualStudio/stdint.h @ 2114:e4f8e377782f

updated stdint.h for visual studio
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 27 Oct 2016 12:37:30 +0200
parents f0544ab9396b
children
comparison
equal deleted inserted replaced
2113:0108ac01fc8e 2114:e4f8e377782f
1 // ISO C9x compliant stdint.h for Microsoft Visual Studio 1 // ISO C9x compliant stdint.h for Microsoft Visual Studio
2 // Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 2 // Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
3 // 3 //
4 // Copyright (c) 2006-2008 Alexander Chemeris 4 // Copyright (c) 2006-2013 Alexander Chemeris
5 // 5 //
6 // Redistribution and use in source and binary forms, with or without 6 // Redistribution and use in source and binary forms, with or without
7 // modification, are permitted provided that the following conditions are met: 7 // modification, are permitted provided that the following conditions are met:
8 // 8 //
9 // 1. Redistributions of source code must retain the above copyright notice, 9 // 1. Redistributions of source code must retain the above copyright notice,
11 // 11 //
12 // 2. Redistributions in binary form must reproduce the above copyright 12 // 2. Redistributions in binary form must reproduce the above copyright
13 // notice, this list of conditions and the following disclaimer in the 13 // notice, this list of conditions and the following disclaimer in the
14 // documentation and/or other materials provided with the distribution. 14 // documentation and/or other materials provided with the distribution.
15 // 15 //
16 // 3. The name of the author may be used to endorse or promote products 16 // 3. Neither the name of the product nor the names of its contributors may
17 // derived from this software without specific prior written permission. 17 // be used to endorse or promote products derived from this software
18 // without specific prior written permission.
18 // 19 //
19 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 20 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
20 // WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 21 // WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
21 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 22 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
22 // EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 // EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
37 #define _MSC_STDINT_H_ 38 #define _MSC_STDINT_H_
38 39
39 #if _MSC_VER > 1000 40 #if _MSC_VER > 1000
40 #pragma once 41 #pragma once
41 #endif 42 #endif
43
44 #if _MSC_VER >= 1600 // [
45 #include <stdint.h>
46 #else // ] _MSC_VER >= 1600 [
42 47
43 #include <limits.h> 48 #include <limits.h>
44 49
45 // For Visual Studio 6 in C++ mode and for many Visual Studio versions when 50 // For Visual Studio 6 in C++ mode and for many Visual Studio versions when
46 // compiling for ARM we should wrap <wchar.h> include with 'extern "C++" {}' 51 // compiling for ARM we should wrap <wchar.h> include with 'extern "C++" {}'
236 #define UINT16_C(val) val##ui16 241 #define UINT16_C(val) val##ui16
237 #define UINT32_C(val) val##ui32 242 #define UINT32_C(val) val##ui32
238 #define UINT64_C(val) val##ui64 243 #define UINT64_C(val) val##ui64
239 244
240 // 7.18.4.2 Macros for greatest-width integer constants 245 // 7.18.4.2 Macros for greatest-width integer constants
241 #define INTMAX_C INT64_C 246 // These #ifndef's are needed to prevent collisions with <boost/cstdint.hpp>.
242 #define UINTMAX_C UINT64_C 247 // Check out Issue 9 for the details.
248 #ifndef INTMAX_C // [
249 # define INTMAX_C INT64_C
250 #endif // INTMAX_C ]
251 #ifndef UINTMAX_C // [
252 # define UINTMAX_C UINT64_C
253 #endif // UINTMAX_C ]
243 254
244 #endif // __STDC_CONSTANT_MACROS ] 255 #endif // __STDC_CONSTANT_MACROS ]
245 256
257 #endif // _MSC_VER >= 1600 ]
246 258
247 #endif // _MSC_STDINT_H_ ] 259 #endif // _MSC_STDINT_H_ ]