Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Collection of remaining Win64 issues (1) #1103

Closed
kinke opened this issue Sep 20, 2015 · 11 comments
Closed

Collection of remaining Win64 issues (1) #1103

kinke opened this issue Sep 20, 2015 · 11 comments
Labels

Comments

@kinke
Copy link
Member

kinke commented Sep 20, 2015

Current master (+ https://github.com/kinke/dmd-testsuite), LLVM 3.7, Visual Studio 2015, Win8 x64.

The dmd-testsuite issues are identical for both debug and release.
Needless to say, it'd be awesome if we could fix all but the first issue for the 0.16 release. :)

@kinke kinke changed the title Collection of remaining Win64 issues Collection of remaining Win64 issues (8) Sep 20, 2015
@redstar
Copy link
Member

redstar commented Sep 21, 2015

Are all math-related errors fixed? I asked because on Linux/PPC64le the only remaining druntime+Phobos test failures are all math precision related.

@dnadlinger
Copy link
Member

Just disable ldc_extern_weak on Windows; it's mostly an internal hack for working around a Linux linker bug.

@kinke
Copy link
Member Author

kinke commented Sep 21, 2015

@redstar: Yes, all math related tests pass without any further hacks. The PPC tests may fail due to a too restrictive feqrel() (counting the most-significant identical mantissa bits of the actual and expected floats), and Walter likes to keep them really tight, not making it easier for non-x86 platforms.
@klickverbot: Will do.

@kinke kinke changed the title Collection of remaining Win64 issues (8) Collection of remaining Win64 issues (6) Sep 21, 2015
@kinke
Copy link
Member Author

kinke commented Sep 21, 2015

Down to 6 now.

@kinke kinke changed the title Collection of remaining Win64 issues (6) Collection of remaining Win64 issues (5) Sep 22, 2015
@kinke
Copy link
Member Author

kinke commented Sep 23, 2015

runnable\opover2.d fails on Linux x64 too when using LLVM 3.7 and -inline -gc. I don't know why Travis doesn't fail; the test specifies PERMUTE_ARGS: -inline -O -property, and dmd-testsuite-debug adds DFLAGS=-gc.

@dnadlinger
Copy link
Member

The reason might be that we are running the test suite using quick (like the DMD autotester, IIRC), which does not try the different argument permutations.

@kinke
Copy link
Member Author

kinke commented Sep 24, 2015

Makes perfect sense - thx for the heads up.

@kinke kinke changed the title Collection of remaining Win64 issues (5) Collection of remaining Win64 issues (4) Sep 25, 2015
@kinke kinke changed the title Collection of remaining Win64 issues (4) Collection of remaining Win64 issues (3) Oct 8, 2015
@rainers
Copy link
Contributor

rainers commented Jan 28, 2016

core.thread-unittest fails in release in line https://github.com/ldc-developers/druntime/blob/ldc/src/core/thread.d#L5467, a Win64-specific test. Debug is fine.

I just stepped through the optimized build, it fails the testNonvolatileRegister!("RDI") test, because RDI is used by some inlined code dragged in from Fiber.callImpl. Is llvm expected to preserve registers used in asm blocks within the same function? I doubt the test is valid. It might be ok if inlining of zeroRegister.call() is prohibited.

@kinke
Copy link
Member Author

kinke commented Jan 31, 2016

Thx for digging, Rainer.

Is llvm expected to preserve registers used in asm blocks within the same function? I doubt the test is valid. It might be ok if inlining of zeroRegister.call() is prohibited.

I'd vote for simply disabling that test for LDC release.

Btw, this list of 3 issues was for D 2.067. 2.068 added more tests wrt. exception handling as you know, so the missing exception chaining support in ldc.eh.win64 now manifests itself in some tests. That's why your MSVC EH work is also critical for Win64. With LLVM 3.8 final out in a few weeks, you got the timing perfectly right. 👍

@kinke kinke changed the title Collection of remaining Win64 issues (3) Collection of remaining Win64 issues (2) Mar 19, 2016
@kinke
Copy link
Member Author

kinke commented Mar 19, 2016

Updated. The 2 remaining issues are negligible now that we have exception chaining etc.

@kinke kinke changed the title Collection of remaining Win64 issues (2) Collection of remaining Win64 issues (1) Mar 28, 2016
@kinke
Copy link
Member Author

kinke commented Jun 18, 2016

core.thread-unittest has been working for months...

@kinke kinke closed this as completed Jun 18, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants