comparison inttypes.h @ 18:eb2525abe43a

Better C99 conformance: macros for format specifiers should only be included in C++ implementations if __STDC_FORMAT_MACROS is defined before <inttypes.h> is included.
author ipse.c99@d525d15b-5824-0410-80a3-6185d19c2cde
date Tue, 09 Oct 2007 12:54:27 +0000
parents f831bbea3401
children fce0b7d5cef7
comparison
equal deleted inserted replaced
17:5f2b8140b2cd 18:eb2525abe43a
48 intmax_t quot; 48 intmax_t quot;
49 intmax_t rem; 49 intmax_t rem;
50 } imaxdiv_t; 50 } imaxdiv_t;
51 51
52 // 7.8.1 Macros for format specifiers 52 // 7.8.1 Macros for format specifiers
53
54 #if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS) // [ See footnote 185 at page 198
53 55
54 // The fprintf macros for signed integers are: 56 // The fprintf macros for signed integers are:
55 #define PRId8 "d" 57 #define PRId8 "d"
56 #define PRIi8 "i" 58 #define PRIi8 "i"
57 #define PRIdLEAST8 "d" 59 #define PRIdLEAST8 "d"
257 # define SCNuPTR "lu" 259 # define SCNuPTR "lu"
258 # define SCNxPTR "lx" 260 # define SCNxPTR "lx"
259 # define SCNXPTR "lX" 261 # define SCNXPTR "lX"
260 #endif // _WIN64 ] 262 #endif // _WIN64 ]
261 263
264 #endif // __STDC_FORMAT_MACROS ]
265
262 // 7.8.2 Functions for greatest-width integer types 266 // 7.8.2 Functions for greatest-width integer types
263 267
264 // 7.8.2.1 The imaxabs function 268 // 7.8.2.1 The imaxabs function
265 #define imaxabs _abs64 269 #define imaxabs _abs64
266 270