From: Daniel M. <xi...@zo...> - 2004-09-19 14:51:02
|
On Sun, Sep 19, 2004 at 01:02:56PM +0200, Franti?ek Dvo?=E1k wrote: > Interesting. This is my recent change and macro SCNdMAX should be > defined from header file inttypes.h. It is, conditionally, at least on Darwin. > I don't understand why it works. I guess it's because sys/time.h > includes sys/types.h, which requires the __STDC_LIBRARY_SUPPORTED__. No, the reason is that inttypes.h looks like this on my system: #if (! defined(__cplusplus)) || defined(__STDC_FORMAT_MACROS) [...] #undef __SCN_64_LENGTH_MODIFIER__ [...] #if defined(__STDC_LIBRARY_SUPPORTED__) [...] #define __SCN_64_LENGTH_MODIFIER__ "ll" [...] #endif [...] #if defined(__SCN_64_LENGTH_MODIFIER__) [...] #define SCNdMAX SCNd64 [...] #endif =20 [...] #endif Hence, SCNdMAX is only defined if __STDC_LIBRARY_SUPPORTED__ is set which is not the default for whatever reason. > I plan to commit a patch, which is due to inttypes.h too. Is inttypes.h > present on Darwin or we must to use different way (include sys/types.h > instead for example)? No, #include <inttypes.h> works fine here. Daniel |