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
