Skip to content
This repository has been archived by the owner on Feb 8, 2024. It is now read-only.

core.stdc.math: full support for MSVCRT 2013+ #13

Merged
merged 5 commits into from
Oct 20, 2014

Conversation

kinke
Copy link
Member

@kinke kinke commented Oct 18, 2014

from dlang#968

@kinke
Copy link
Member Author

kinke commented Oct 18, 2014

This, in combination with ldc-developers/phobos#3, gets LDC head with LLVM head and MSVC x64 2013 to compile & link the druntime/phobos test runners successfully. ~80% of the tests are successful, the others segfault:

core.atomic-debug
core.thread-debug
core.time-debug
object-debug
rt.lifetime-debug
std.algorithm-debug
std.array-debug
std.bigint-debug
std.bitmanip-debug
std.complex-debug
std.concurrency-debug
std.conv-debug
std.csv-debug
std.datetime-debug
std.exception-debug
std.format-debug
std.getopt-debug
std.json-debug
std.math-debug
std.numeric-debug
std.outbuffer-debug
std.parallelism-debug
std.path-debug
std.process-debug
std.random-debug
std.range-debug
std.regex-debug
std.socket-debug
std.stdio-debug
std.uni-debug
std.uri-debug
std.uuid-debug
std.variant-debug
std.xml-debug
std.zlib-debug
std.container.rbtree-debug
std.container.slist-debug
std.container.util-debug
std.digest.sha-debug
std.net.isemail-debug
std.internal.math.errorfunction-debug
std.internal.math.gammafunction-debug
std.windows.registry-debug

@kinke
Copy link
Member Author

kinke commented Oct 18, 2014

Well most segfaults are actually caused by the test-runners themselves as they access the caught Throwable object. That object is currently corrupt due to alpha-quality exception handling on Win64 (see ldc-developers/ldc#166). Using the work-around in the last commit, I now yield:

core.atomic-debug (Failed)
core.thread-debug (SEGFAULT)
core.time-debug (SEGFAULT)
object-debug (Failed)
rt.lifetime-debug (SEGFAULT)
std.algorithm-debug (Failed)
std.array-debug (Failed)
std.bigint-debug (Failed)
std.bitmanip-debug (Failed)
std.complex-debug (Failed)
std.concurrency-debug (SEGFAULT)
std.conv-debug (SEGFAULT)
std.csv-debug (Failed)
std.datetime-debug (Failed)
std.exception-debug (Failed)
std.format-debug (Failed)
std.getopt-debug (Failed)
std.json-debug (Failed)
std.math-debug (Failed)
std.numeric-debug (Failed)
std.outbuffer-debug (Failed)
std.parallelism-debug (Failed)
std.path-debug (Failed)
std.process-debug (SEGFAULT)
std.random-debug (Failed)
std.range-debug (Failed)
std.regex-debug (SEGFAULT)
std.socket-debug (Failed)
std.stdio-debug (Failed)
std.uni-debug (SEGFAULT)
std.uri-debug (SEGFAULT)
std.uuid-debug (Failed)
std.variant-debug (SEGFAULT)
std.xml-debug (SEGFAULT)
std.zlib-debug (SEGFAULT)
std.container.rbtree-debug (Failed)
std.container.slist-debug (Failed)
std.container.util-debug (Failed)
std.digest.sha-debug (Failed)
std.net.isemail-debug (SEGFAULT)
std.internal.math.errorfunction-debug (Failed)
std.internal.math.gammafunction-debug (Failed)
std.windows.registry-debug (Failed)

and consequently way less "Close this program" prompts by Windows.

Once EH works sufficiently, we'll most likely get details about failing unit tests via the caught AssertError object. EH is therefore crucial for further fixing from my side. Pinging @redstar once more. :)

@redstar
Copy link
Member

redstar commented Oct 19, 2014

Commit d12cc01 should fix the EH issue. Please check!

@kinke
Copy link
Member Author

kinke commented Oct 19, 2014

Yep, seems to work!

phobos2-test-runner-debug.exe std.math
****** FAIL std.math
core.exception.AssertError@C:/LDC/ldc/runtime/phobos/std/math.d(847): Assertion failure

Thanks, very handy! :)

@dnadlinger
Copy link
Member

@redstar: Leaving this one to you.

redstar added a commit that referenced this pull request Oct 20, 2014
core.stdc.math: full support for MSVCRT 2013+
@redstar redstar merged commit 3adcb7f into ldc-developers:ldc Oct 20, 2014
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants