Hi David,

It's great to see the work on this.

I took a quick look at your Git and I noticed that currently those
headers are split into a few other headers. It would be better to merge
them in the final version. Otherwise we'd be introducing mingw-w64
specific headers and that's better avoided IMHO.

Cheers,
Jacek

On 07/27/15 08:02, David Grayson wrote:
> Oops, I sent that email too early and it was malformed.  I meant to
> say that you can follow my progress and see some different
> implementations of
> intsafe.h here:
>
> https://github.com/DavidEGrayson/intsafe
>
> --David
>
>
> On Sun, Jul 26, 2015 at 11:00 PM, David Grayson <[email protected]> 
> wrote:
>> I have been working on making an intsafe.h that is suitable for being
>> added to mingw-w64 and just wanted to give a status update.
>>
>> Some background: The intsafe.h header provided by Microsoft has 253
>> inline functions for safe conversions, additions, multiplications, and
>> subtractions of integers.  The documentation is here:
>>
>> https://msdn.microsoft.com/en-us/library/windows/desktop/ff521693
>>
>> A recent patch by Jacek Caban added intsafe.h to mingw-w64, but it is
>> just a stub that doesn't have any of the conversion or math functions.
>>
>> I have collected a few different free-software implementations of
>> intsafe.h in this repository:
>>
>> https://github.com/DavidEGrayson/intsafe
>>
>> The implementation by tta from 5 years ago is the only one that comes
>> close to being complete, but it is still missing 30 math conversion
>> functions.  The functions that it does define seem to be fine; I only
>> had to fix a bug in one of them.
>>
>> I have been developing a test suite for intsafe.h implementations, and
>> running it against tta's implementation, and patching that
>> implementation as I find problems.  It would take forever to write
>> test cases for 253 functions by hand, so I am using a Ruby script to
>> generate test cases, and then running those test cases in a variety of
>> environments (32-bit and 64-bit, signed char and unsigned char, C++
>> and C).
>>
>> This is working pretty well, so I think I might end up using Ruby to
>> generate intsafe.h itself.  However, I will try to do it in a way that
>> minimizes the size of the generated code, making it easy to check by
>> humans.
>>
>> You can follow my progress and see some different implementations of
>> intsafe.h here:
>>
>>
>> I have never written a header for mingw-w64 before so any tips are welcome.
>>
>> --David Grayson
> ------------------------------------------------------------------------------
> _______________________________________________
> Mingw-w64-public mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


------------------------------------------------------------------------------
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to