momumi 7aac21c6f5 allow _ separators in number literals (stage 1)
* Underscores `_` may be placed between two digits in a int/float literal
* Consecutive underscores are not allowed
* Fixed parsing bug in exponents of hexadecimal float literals.
  Exponents should always be base 10, but hex characters would be parsed
  inside the exponent and everything after them would be ignored. eg:
  `0x1.0p1ab1` would be parsed as `0x1.0p1`.
2020-03-15 12:38:35 +10:00
..
2020-01-16 12:50:53 -05:00
2019-09-25 23:35:41 -04:00
2019-09-25 23:35:41 -04:00
2019-09-25 23:35:41 -04:00
2019-11-08 15:57:24 -05:00
2019-09-25 23:35:41 -04:00
2019-09-25 23:35:41 -04:00
2019-09-25 23:35:41 -04:00
2019-09-25 23:35:41 -04:00
2019-09-25 23:35:41 -04:00
2019-09-25 23:35:41 -04:00
2019-09-25 23:35:41 -04:00
2019-09-25 23:35:41 -04:00
2019-09-25 23:35:41 -04:00
2019-09-25 23:35:41 -04:00
2019-09-25 23:35:41 -04:00
2019-09-25 23:35:41 -04:00
2019-09-25 23:35:41 -04:00
2019-09-25 23:35:41 -04:00
2020-01-22 20:17:38 -05:00
2019-09-25 23:35:41 -04:00
2019-09-25 23:35:41 -04:00
2019-09-25 23:35:41 -04:00
2019-09-25 23:35:41 -04:00
2019-09-25 23:35:41 -04:00
2020-01-15 18:41:07 +01:00
2019-09-25 23:35:41 -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.