| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2020-05-28 | C ABI: Add C support for passing structs of floats to an extern function | Timon Kruiper | |
| Currently this does not handle returning these structs yet. Related: #1481 | |||
| 2020-05-26 | Add caller location tracking for asserts (ir_assert, src_assert, ↵ | foobles | |
| ir_assert_gen) (#5393) | |||
| 2020-05-16 | Merge remote-tracking branch 'origin/master' into ↵ | Andrew Kelley | |
| self-hosted-incremental-compilation | |||
| 2020-05-12 | clear progress indicator before printing errors | Andrew Kelley | |
| 2020-05-05 | Rename noasync to nosuspend in C++ compiler | Tadeo Kondrak | |
| 2020-04-27 | Add missing state to C object cache | George Roman | |
| 2020-04-26 | add CLI option -Bsymbolic for binding global references locally | Andrew Kelley | |
| 2020-04-25 | Pass each target feature flag separately | George Roman | |
| 2020-04-23 | stage1: fix crash on accessing an array of size zero with runtime index | xackus | |
| 2020-04-23 | stage1: Fix bitcast of immediate to ptr type (#5131) | LemonBoy | |
| Consider a (legal according to the `@bitCast` rules) conversion from u16 to [2]u8: since the former is a scalar and the latter is a pointer (arrays are represented at pointers in the codegen phase) we have to allocate a temporary slot on the stack and then bitcast the resulting pointer to the desired destination type. Beware that this means the lifetime of the resulting value is the same of the function it's contained in and for all intents and purposes should be regarded as a local (eg. it should not escape). Closes #4395 Closes #5121 | |||
| 2020-04-22 | stage1: Another hack for the C ABI compatibility | LemonBoy | |
| Applying the wrong ABI is slightly better than using the Zig ABI, the whole thing is so wrong it should be burned to the ground. | |||
| 2020-04-20 | stage1: Fix wrong union access | LemonBoy | |
| Thanks to @frett27 on irc for reporting the compiler would segfault when run on ARM. | |||
| 2020-04-17 | stage1: Fix several bugs in constant generation | LemonBoy | |
| The codegen would sometimes change the LLVM type for some constants to an unnamed structure in order to accomodate extra padding. This is fine as long as the alignment of each field is still respected and it was not the case for structure types, leading to ill-formed constants being generated. Optional types suffer from this to a lower extent as their layout is quite lucky, the only missing piece was the tail padding. Closes #4530 Closes #4594 Closes #4295 Closes my will to live | |||
| 2020-04-13 | stage1: More fixes for BE targets | LemonBoy | |
| * Fix packed struct alignment * Adjust some tests | |||
| 2020-04-12 | only use `-nostdinc++` on c++ files | Michael Dusan | |
| This is a follow-up to d27ef1aaef8ac12801ba4e6c2ed748c7151096a7 and avoids compiler warnings: warning: argument unused during compilation: '-nostdinc++' | |||
| 2020-04-12 | Zig treats -lstdc++ identically to -lc++ | Andrew Kelley | |
| Thanks to Michael Dusan for figuring out what was happening here. closes #5012 | |||
| 2020-04-07 | Merge pull request #4857 from LemonBoy/fix-4777 | Andrew Kelley | |
| Rewrite the bound checks in slice operator | |||
| 2020-04-07 | stage1: Respect the specified name for extern var | LemonBoy | |
| Extend the logic used for function definitions to variables. Closes #4947 | |||
| 2020-04-06 | zig cc: recognize a few more linker options | Andrew Kelley | |
| * `--major-image-version` * `--minor-image-version` * `--stack` | |||
| 2020-04-05 | ir: Fix error checking for vector ops | LemonBoy | |
| The extra logic that's needed was lost during a refactoring, now it should be fine. | |||
| 2020-04-05 | ir: Remove unused and commented out code | LemonBoy | |
| 2020-04-05 | ir: Support shift left/right on vectors | LemonBoy | |
| 2020-04-05 | ir: Support div/mod/rem on vector types | LemonBoy | |
| Closes #4050 | |||
| 2020-04-05 | Do not parse native_libc.txt anymore when linking on native target, always ↵ | Michaël Larouche | |
| run detection of libc. Fixes #4772 | |||
| 2020-04-03 | change the default ABI of riscv64-linux-musl | Andrew Kelley | |
| Before, this would cause a link failure when mixing Zig and C code for RISC-V targets. Now, the ABIs match and Zig and C code can be mixed successfully. I will file a follow-up issue for the ability to deal more explicitly with ABIs. closes #4863 | |||
| 2020-04-03 | ir: Rewrite the bound checks in slice operator | LemonBoy | |
| Closes #4777 | |||
| 2020-04-02 | zig cc: support more linker args | Andrew Kelley | |
| 2020-04-02 | zig cc: respect -MF -MV -MD options | Andrew Kelley | |
| Zig disables its caching and forwards these args when any are provided. see #4784 | |||
| 2020-04-01 | zig cc properly handles -S flag and .ll, .bc extensions | Andrew Kelley | |
| 2020-04-01 | stage1: make C++ switch fallthrough an error | Michael Dusan | |
| Make fallthrough an error when compiler supports it. This requires a new macro that is defined with such compilers to be used as a statement, at all fallthrough sites: switch (...) { case 0: ... ZIG_FALLTHROUGH; case 1: ... break; default: ... break; } If we ever move to C++17 as minimal requirement, then the macro can be replaced with `[[fallthrough]];` at statement sites. | |||
| 2020-04-01 | Merge pull request #4896 from FireFox317/fix-arm32-stuff | Andrew Kelley | |
| fix some nullptr dereferences on arm-linux-musleabhif | |||
| 2020-04-01 | Make sure that ZigTypeVector and ZigTypeArray have the same memory layout | Timon Kruiper | |
| Throughout the stage1 code it is assumed that these have the same layout, but that was not the case. This caused an issue on 32-bit hardware. | |||
| 2020-04-01 | fixups and revert a few things | Andrew Kelley | |
| 2020-04-01 | Use length field as passed in stage2 libc_installation instead of relying on ↵ | daurnimator | |
| zero termination | |||
| 2020-03-30 | revert detection of rtti and exceptions | Andrew Kelley | |
| This caused link errors in c++ code because it was not correct to pass these flags to child codegens. And that was the only reason to detect these flags. Otherwise we can safely rely on non-explicitly-detected flag forwarding. | |||
| 2020-03-27 | zig c++: get it working with musl and mingw-w64 | Andrew Kelley | |
| 2020-03-26 | ability to compile c++ hello world with `zig c++` | Andrew Kelley | |
| closes #4786 | |||
| 2020-03-25 | improved handling of native system directories | Andrew Kelley | |
| * `-isystem` instead of `-I` for system include directories fixes a problem with native system directories interfering with zig's bundled libc. * separate Stage2Target.is_native into Stage2Target.is_native_os and Stage2Target.is_native_cpu. | |||
| 2020-03-22 | riscv: add -mrelax arg for C to work around upstream issue | Andrew Kelley | |
| See #4485 | |||
| 2020-03-22 | Merge remote-tracking branch 'origin/master' into llvm10 | Andrew Kelley | |
| 2020-03-22 | Merge remote-tracking branch 'origin/master' into llvm10 | Andrew Kelley | |
| 2020-03-21 | zig cc: detect optimization and debug flags | Andrew Kelley | |
| 2020-03-21 | zig cc: better support for the preprocessor option (-E) | Andrew Kelley | |
| 2020-03-21 | ability to use `zig cc` as a drop-in C compiler | Andrew Kelley | |
| The basics are working | |||
| 2020-03-20 | glibc: include ld symbols and proper soname for ld | Andrew Kelley | |
| 2020-03-19 | Merge remote-tracking branch 'origin/master' into llvm10 | Andrew Kelley | |
| 2020-03-19 | fix incorrect sentinel check | Andrew Kelley | |
| 2020-03-19 | fix runtime slice of pointer not setting length | Andrew Kelley | |
| 2020-03-19 | fix regression when slicing 0-bit pointers | Andrew Kelley | |
| 2020-03-19 | fixes in semantic analysis needed to support this feature | Andrew Kelley | |
