zig/std/special/compiler_rt
Andrew Kelley 5cbae7b671 better compiler-rt linkage logic
now the compiler-rt tests are passing on windows. See #302
2017-10-02 00:11:45 -04:00
..
aulldiv.zig
aullrem.zig
comparetf2.zig better compiler-rt linkage logic 2017-10-02 00:11:45 -04:00
fixuint.zig
fixunsdfdi_test.zig
fixunsdfdi.zig better compiler-rt linkage logic 2017-10-02 00:11:45 -04:00
fixunsdfsi_test.zig
fixunsdfsi.zig better compiler-rt linkage logic 2017-10-02 00:11:45 -04:00
fixunsdfti_test.zig
fixunsdfti.zig better compiler-rt linkage logic 2017-10-02 00:11:45 -04:00
fixunssfdi_test.zig
fixunssfdi.zig better compiler-rt linkage logic 2017-10-02 00:11:45 -04:00
fixunssfsi_test.zig
fixunssfsi.zig better compiler-rt linkage logic 2017-10-02 00:11:45 -04:00
fixunssfti_test.zig
fixunssfti.zig better compiler-rt linkage logic 2017-10-02 00:11:45 -04:00
fixunstfdi_test.zig
fixunstfdi.zig better compiler-rt linkage logic 2017-10-02 00:11:45 -04:00
fixunstfsi_test.zig
fixunstfsi.zig better compiler-rt linkage logic 2017-10-02 00:11:45 -04:00
fixunstfti_test.zig
fixunstfti.zig better compiler-rt linkage logic 2017-10-02 00:11:45 -04:00
index.zig better compiler-rt linkage logic 2017-10-02 00:11:45 -04:00
README.md
udivmod.zig
udivmoddi4_test.zig
udivmoddi4.zig better compiler-rt linkage logic 2017-10-02 00:11:45 -04:00
udivmodti4_test.zig
udivmodti4.zig better compiler-rt linkage logic 2017-10-02 00:11:45 -04:00
udivti3.zig better compiler-rt linkage logic 2017-10-02 00:11:45 -04:00
umodti3.zig better compiler-rt linkage logic 2017-10-02 00:11:45 -04:00

This compiler-rt library is ported from LLVM.

It's needed because LLVM emits library calls to compiler-rt when hardware lacks functionality, for example, 64-bit integer multiplication on 32-bit x86.

This library is automatically built as-needed for the compilation target and then statically linked and therefore is a transparent dependency for the programmer.

Any bugs should be solved by trying to duplicate the bug upstream.

  • If the bug exists upstream, get it fixed with the LLVM team and then port the fix downstream to Zig.
  • If the bug only exists in Zig, something went wrong porting the code, and you can run the C code and Zig code side by side in a debugger to figure out what's happening differently.