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.

Reply via email to