Large number of tests failing - 64bit LDC with MSVC - Append Operator

Kevin Brogan via digitalmars-d-ldc digitalmars-d-ldc at puremagic.com
Thu Feb 26 16:06:43 PST 2015


On Thursday, 26 February 2015 at 20:03:44 UTC, kinke wrote:
>> Yay!  Also, what timing!
>
> Pure coincidence, but that append operator issue on Win64 was 
> the initial reason for that PR. ;)
> What LLVM commit are you using? I'm using yesterday's 
> release_36 head and exception handling on Win64 is sadly broken 
> again, causing a myriad of failing tests.

Exception handling broke on release_36 (or was always broken, not 
sure), so I went back to master. Currently exceptions are working 
for me on
LLVM d89ac8f158976eaa9f9bcfba88f8a679771704f8
LDC  770b436e5c304ce635c186a09b04839f39fe4e71

I'm only failing 41 test cases and I've just about to post about 
how to fix an assembly optimization bug that will bring that 
number down to 40 soon i hope.

With LLVM I've also got a custom change to 
Support/raw_ostream.cpp and Support/ErrorHandling.cpp of

# include <unistd.h>
# if !defined(HAVE_STDINT_H)
#  include <unistd.h>
# endif

To remove a compilation error about redefinitions.

> I can confirm the /LARGEADDRESSAWARE:NO issue.
>
> Wrt. running the tests: I often find myself taking a shortcut 
> and running only the debug tests to reduce the required time 
> considerably; phobos2-ldc-unittest takes a very long time, 
> especially std.algorithm. You can disable the release tests by 
> editing runtime\CTestTestfile.cmake in your build directory. 
> Delete the first 6 non-comment lines and then all tests from 
> core.atomic (new line 7, first druntime release test) to (but 
> obviously excluding) core.atomic-debug (more or less at the 
> center of the file).
> dmd-testsuite doesn't compile as it requires the make build 
> system, so you don't need to edit tests\d2\CTestTestfile.cmake 
> in a similar way.
> Beware that these ctest files get rebuilt as soon as your local 
> LDC git head changes!

Bloody thing does take forever. Little over an hour on my 
machine. I'm working on test 19 at the moment so I use ctest's 
options to run just what is needed.

If I want to modify command line options for test 1 or 2, I copy 
and paste the output from ctest --force-new-ctest-process 
--output-on-failure -I 1,2,1,19 -V (added verbose flag) into a 
batch file.

Test two is too long for the command prompt (maximum input 
size... wtf).
I modify the runtime command by adding 
"-L/LIBPATH:C:/ldcenv/ninja-ldc2-x64/runtime/src/" and then 
removing the base path i just added from all of the object files.

ctest --force-new-ctest-process --output-on-failure -I 1,2,1,19


More information about the digitalmars-d-ldc mailing list