I haven’t heard back about some of the patches I’ve posted over the last few weeks. Some did get some discussion and I reworked them, but the final patch hasn’t made it in yet. Here’s a big patch file with my accumulated changes, which I will summarize below, fresh after an update.
Could someone help me out by evaluating them, and submit them, or give me some feedback so I can rework them?
Basically my goal is to get all the tests passing on Windows, and most of these relate to that. There are still 23 failing tests, but some of them have similar problems, so the feedback from these might help me know the most appropriate way to deal with them, and avoid wasting time doing stuff that’s not appropriate.
Also, if you’d prefer I do patches in a different way, i.e. do one file at a time, groups of similar changes, or just one big one for the remaining 23 failures, or post these to cfe-commits instead, please let me know what works best for you.
The above all comment out the stdio.h inclusion and instead declare printf, to avoid problems parsing VC++'s stdio.h, particularly if a different target triple is specified.
Add a “*” to the grep or FileCheck string to account for the “.EXE” on windows.
Converted to FileCheck to avoid problems with grep on Windows.
In VC++, the *printf functions put an extra “0” in the exponent part of a floating point number. This add regular expressions to account for this.
This is a slight revision to the patch I posted yesterday to have the default include path code use the target triple, as the line numbers were off due to some other changes. It also sets up include paths for VC++ and Cygwin headers, along with the existing MinGW headers, plus the newer 4.4.0 version. Note that running the tests with the MinGW headers results in 40 or more failed tests. Currently, with this patch, only 23 tests are failing with the VC++ headers. I did leave in some disabled code regarding the question I posted yesterday about including windows.h for the registry stuff.
This fixes support for complex literals, reworked to avoid a goto, and to add a flag noting the presence of a Microsoft extension suffix (i8, i16, i32, i64).
Someone pointed out that in my previous Targets.cpp patch I didn’t handle the long size difference for one of the Windows targets. This fixes that.
I think I got this from Daniel. I believe it fixes some failing tests.
P.S. Is there some reason why the VC++ buildbot is off-line?
win32all.patch (33 KB)