I really dislike the names given to the macros. I'm more in favour of extending gmp_printf to use the C99 standard identifiers %jd, etc.
But it's something we can decide between us for the next release. It's not something we want to fix for this release. Bill. On 3 April 2014 00:39, leif <not.rea...@online.de> wrote: > Brian Gladman wrote: > >> On 02/04/2014 22:49, leif wrote: >> >>> Brian Gladman wrote: >>> >>>> On 02/04/2014 19:57, Bill Hart wrote: >>>> >>>>> I have recently made quite a few changes to format specifiers in test >>>>> code, so I hope this is all still ok on Windows. If not, please let me >>>>> know. I didn't fix this problem permanently, which I think will involve >>>>> adding some new format specifiers to gmp_printf and using it instead of >>>>> printf, since MSVC doesn't support the c99 format specifiers. But this >>>>> can wait until the next release. >>>>> >>>>> Or perhaps there is a way to make recent MSVC accept C99 format >>>>> specifiers for uintmax_t, intmax_t and size_t and a workaround for %ld >>>>> vs %lld. >>>>> >>>> >>>> As of Visual Studio 2013 it does :-) >>>> >>>> VS 2013 has gone a long way towaards C99 and C++ 11. See the links >>>> below if you are interested in the details: >>>> >>>> http://msdn.microsoft.com/en-us/library/hh409293.aspx >>>> >>>> http://blogs.msdn.com/b/vcblog/archive/2013/07/19/c99- >>>> library-support-in-visual-studio-2013.aspx >>>> >>>> >>>> http://msdn.microsoft.com/en-us/library/hh567368.aspx >>>> >>>> Of course this is not much help if we want to continue support for >>>> previous versions :-( >>>> >>> >>> Why don't you just use the macros (PRI...) from inttypes.h, and, >>> depending on HAVE_INTTYPES_H and/or the MSVC version, define the few you >>> need yourself? >>> >>> (Or did I miss something?) >>> >> >> No, you didn't! >> >> My problem is that (a) the issue is only about 24 hours old (Bill raised >> it, I think, yesterday), (b) inttypes.h is completely new to me as it >> has only been available in Visual Studio for a few months, and (c) until >> Bill raised it, I didn't even know that I should take any interest in it! >> > > Well, their use looks pretty ugly, or is a bit tedious to type (IMHO); > instead of e.g. > > #if ... /* long long is 64 bits, long is only 32 bits */ > printf("%lld\n", bigval); > #else /* long is already 64 bits */ > printf("%ld\n", bigval); > #endif > > you'd write > > printf("%"PRId64"\n", bigval); > > I.e., PRId64 expands just to a string containing the appropriate format > specifier (not including the percent sign, such that one can also write > things like "%20"PRId64 etc.). > > > But you'd "only" have to modify the test code I think. > > > > But if Bill wants to use inttypes.h, we can certainly use it in VS 2013 >> and do what you suggest for earlier versions. There are also earlier >> non-Microsoft versions of this header that we could use on these versions. >> > > On *nix, 'configure' already checks for inttypes.h (and config.h defines > HAVE_INTTYPES_H accordingly). > > > > -leif > > -- > () The ASCII Ribbon Campaign > /\ Help Cure HTML E-Mail > > -- > You received this message because you are subscribed to the Google Groups > "mpir-devel" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to mpir-devel+unsubscr...@googlegroups.com. > To post to this group, send email to mpir-devel@googlegroups.com. > Visit this group at http://groups.google.com/group/mpir-devel. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "mpir-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to mpir-devel+unsubscr...@googlegroups.com. To post to this group, send email to mpir-devel@googlegroups.com. Visit this group at http://groups.google.com/group/mpir-devel. For more options, visit https://groups.google.com/d/optout.