zig/lib/std/special/compiler_rt
Isaac Freund 608bc1cbd5
stage2: disallow 1.e9 and 0x1.p9 as float literals
Instead require `1e9` and `0x1p9`, disallowing the trailing dot.

This change to the grammar is consistent with forbidding `1.` and `0x1.`
as float literals and ensures there is only one way to do things here.
2021-05-31 19:51:11 +00:00
..
addXf3.zig Year++ 2020-12-31 15:45:24 -08:00
addXf3_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
arm.zig zig fmt the std lib 2021-02-24 21:29:23 -07:00
ashldi3_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
ashlti3_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
ashrdi3_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
ashrti3_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
atomics.zig std: change @import("builtin") to std.builtin 2021-04-15 19:06:39 -07:00
aulldiv.zig Year++ 2020-12-31 15:45:24 -08:00
aullrem.zig Year++ 2020-12-31 15:45:24 -08:00
clear_cache.zig Year++ 2020-12-31 15:45:24 -08:00
clzsi2.zig compiler-rt: Better selection of __clzsi implementation 2021-05-04 18:45:52 +02:00
clzsi2_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
comparedf2_test.zig std: update usage of std.testing 2021-05-08 15:15:30 +03:00
comparesf2_test.zig std: update usage of std.testing 2021-05-08 15:15:30 +03:00
compareXf2.zig std: fix compile errors caught by stage2 AstGen 2021-04-22 19:32:57 -07:00
divdf3.zig Year++ 2020-12-31 15:45:24 -08:00
divdf3_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
divsf3.zig Year++ 2020-12-31 15:45:24 -08:00
divsf3_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
divtf3.zig Year++ 2020-12-31 15:45:24 -08:00
divtf3_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
divti3.zig Year++ 2020-12-31 15:45:24 -08:00
divti3_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
emutls.zig overhaul elf csu (c-runtime startup) logic 2021-05-23 15:38:57 -04:00
extendXfYf2.zig compiler-rt: Implement __extendhftf2 2021-04-15 18:21:58 +02:00
extendXfYf2_test.zig compiler-rt: fix usage of builtin 2021-05-17 14:18:30 -07:00
fixdfdi.zig Year++ 2020-12-31 15:45:24 -08:00
fixdfdi_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
fixdfsi.zig Year++ 2020-12-31 15:45:24 -08:00
fixdfsi_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
fixdfti.zig Year++ 2020-12-31 15:45:24 -08:00
fixdfti_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
fixint.zig Year++ 2020-12-31 15:45:24 -08:00
fixint_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
fixsfdi.zig Year++ 2020-12-31 15:45:24 -08:00
fixsfdi_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
fixsfsi.zig Year++ 2020-12-31 15:45:24 -08:00
fixsfsi_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
fixsfti.zig Year++ 2020-12-31 15:45:24 -08:00
fixsfti_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
fixtfdi.zig Year++ 2020-12-31 15:45:24 -08:00
fixtfdi_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
fixtfsi.zig Year++ 2020-12-31 15:45:24 -08:00
fixtfsi_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
fixtfti.zig Year++ 2020-12-31 15:45:24 -08:00
fixtfti_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
fixuint.zig Year++ 2020-12-31 15:45:24 -08:00
fixunsdfdi.zig Year++ 2020-12-31 15:45:24 -08:00
fixunsdfdi_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
fixunsdfsi.zig Year++ 2020-12-31 15:45:24 -08:00
fixunsdfsi_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
fixunsdfti.zig Year++ 2020-12-31 15:45:24 -08:00
fixunsdfti_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
fixunssfdi.zig Year++ 2020-12-31 15:45:24 -08:00
fixunssfdi_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
fixunssfsi.zig Year++ 2020-12-31 15:45:24 -08:00
fixunssfsi_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
fixunssfti.zig Year++ 2020-12-31 15:45:24 -08:00
fixunssfti_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
fixunstfdi.zig Year++ 2020-12-31 15:45:24 -08:00
fixunstfdi_test.zig stage2: disallow 1.e9 and 0x1.p9 as float literals 2021-05-31 19:51:11 +00:00
fixunstfsi.zig Year++ 2020-12-31 15:45:24 -08:00
fixunstfsi_test.zig stage2: disallow 1.e9 and 0x1.p9 as float literals 2021-05-31 19:51:11 +00:00
fixunstfti.zig Year++ 2020-12-31 15:45:24 -08:00
fixunstfti_test.zig stage2: disallow 1.e9 and 0x1.p9 as float literals 2021-05-31 19:51:11 +00:00
floatdidf.zig Year++ 2020-12-31 15:45:24 -08:00
floatdidf_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
floatdisf_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
floatditf.zig Year++ 2020-12-31 15:45:24 -08:00
floatditf_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
floatsiXf.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
floattidf.zig Year++ 2020-12-31 15:45:24 -08:00
floattidf_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
floattisf_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
floattitf.zig Year++ 2020-12-31 15:45:24 -08:00
floattitf_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
floatundidf.zig Year++ 2020-12-31 15:45:24 -08:00
floatundidf_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
floatundisf.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
floatunditf.zig Year++ 2020-12-31 15:45:24 -08:00
floatunditf_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
floatunsidf.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
floatunsisf.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
floatunsitf.zig Year++ 2020-12-31 15:45:24 -08:00
floatunsitf_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
floatuntidf.zig Year++ 2020-12-31 15:45:24 -08:00
floatuntidf_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
floatuntisf.zig Year++ 2020-12-31 15:45:24 -08:00
floatuntisf_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
floatuntitf.zig Year++ 2020-12-31 15:45:24 -08:00
floatuntitf_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
floatXisf.zig Year++ 2020-12-31 15:45:24 -08:00
int.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
lshrdi3_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
lshrti3_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
modti3.zig Year++ 2020-12-31 15:45:24 -08:00
modti3_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
muldi3.zig std: change @import("builtin") to std.builtin 2021-04-15 19:06:39 -07:00
muldi3_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
mulodi4.zig Year++ 2020-12-31 15:45:24 -08:00
mulodi4_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
muloti4.zig Year++ 2020-12-31 15:45:24 -08:00
muloti4_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
multi3.zig std: change @import("builtin") to std.builtin 2021-04-15 19:06:39 -07:00
multi3_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
mulXf3.zig compiler-rt: Fix signedness mismatch in f128 mul impl 2021-05-14 15:11:54 -04:00
mulXf3_test.zig stage2: disallow 1.e9 and 0x1.p9 as float literals 2021-05-31 19:51:11 +00:00
negXf2.zig Year++ 2020-12-31 15:45:24 -08:00
popcountdi2.zig Year++ 2020-12-31 15:45:24 -08:00
popcountdi2_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
README.md mv std/ lib/ 2019-09-25 23:35:41 -04:00
shift.zig std: change @import("builtin") to std.builtin 2021-04-15 19:06:39 -07:00
sparc.zig Merge remote-tracking branch 'origin/master' into stage2-whole-file-astgen 2021-05-15 21:44:38 -07:00
stack_probe.zig std: change @import("builtin") to std.builtin 2021-04-15 19:06:39 -07:00
truncXfYf2.zig compiler-rt: Implement __trunctfhf2 2021-04-15 18:23:09 +02:00
truncXfYf2_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
udivmod.zig std: change @import("builtin") to std.builtin 2021-04-15 19:06:39 -07:00
udivmoddi4_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
udivmodti4.zig Year++ 2020-12-31 15:45:24 -08:00
udivmodti4_test.zig update usage of std.testing in compiler_rt 2021-05-08 15:15:30 +03:00
udivti3.zig Year++ 2020-12-31 15:45:24 -08:00
umodti3.zig Year++ 2020-12-31 15:45:24 -08: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.