Commits
astgen.zig: avoid temporary allocations by sharing the `instructions` ArrayList between a GenZir and its sub-blocks wherever their use of it is strictly nested
01842a6ead • Matthew Borkowski • Nov 1, 2021
astgen.zig: delay adding closure_capture instructions to preserve GenZir nesting. Only containers create Namespaces, so the declaring_gz is always the GenZir passed to containerDecl, and containerDecl will always add exactly one instruction (an extended *_decl) to that GenZir. Thus, closure_capture instructions are always lined up immediately after a container decl instruction, so rather than adding them at the point of first mention, where we're nested arbitrarily deep, simply walk through the Namespace captures hash map at the end of each containerDecl branch and add them then.
65c27e8e66 • Matthew Borkowski • Nov 1, 2021
astgen.zig: use scratch buffer for temporary allocations in switchExpr and WipMembers
92d2aa1b48 • Matthew Borkowski • Nov 1, 2021
astgen.zig: simplify container functions by pulling out common processing of members
5760ba949f • Matthew Borkowski • Nov 1, 2021
astgen.zig: replace WipDecls with WipMembers, use one allocation to collect container decls, fields, and bits, instead of up to four
e712f87a66 • Matthew Borkowski • Nov 1, 2021
astgen.zig: simplify switchExpr and collect payload in one ArrayList instead of three
f0260555d6 • Matthew Borkowski • Nov 1, 2021
astgen.zig: avoid unnecessary allocation in identifier for @"" syntax
a0bf620fbf • Matthew Borkowski • Nov 1, 2021
astgen.zig: avoid temporary allocations in arrayInit* and structInit*, callExpr, errorSetDecl, typeOf, and builtinCall's compile_log branch
2561be2e34 • Matthew Borkowski • Nov 1, 2021
optimize AstGen.callExpr
83dcfd6205 • Lee Cannon • Oct 31, 2021
Merge pull request #10068 from leecannon/tracy_improvements
8346e011c9 • Andrew Kelley • Oct 31, 2021
stage2: move x86_64 codegen to arch/x86_64/CodeGen.zig
91d93b6395 • Jakub Konka • Oct 31, 2021
Merge pull request #10066 from joachimschmidt557/stage2-aarch64-mir
c452d10953 • Jakub Konka • Oct 31, 2021
C backend: implement signed trunc
969bcb6a59 • Emily Bellows • Oct 30, 2021
std: add missing termios def to std/c/linux.zig
1de6f9a267 • pfg • Oct 30, 2021
stage2: implement `@popCount` for non-vectors
d6067db062 • Andrew Kelley • Oct 30, 2021
gpa: fix memory limit accounting for large allocations
5ff01bd820 • Matthew Borkowski • Oct 29, 2021
Add argument for `fillFn` to `Random.init`
544d7d9982 • ominitay • Oct 29, 2021
CLI: clarify help text for -z
66b4bd19c0 • Andrew Kelley • Oct 29, 2021
zig: expose linker options and include '-z notext'
2cdffc97f0 • Kenta Iwasaki • Oct 29, 2021
Make `std.meta.trait.isContainer` true for opaques
83a4bb6e69 • InKryption • Oct 29, 2021
Use `debug.assert` instead of `testing.expect`.
eeb8629bea • InKryption • Oct 29, 2021
Make pointer variables in ( init-lib | init-exe )/build.zig const. (#10057)
ee038df7e2 • InKryption • Oct 29, 2021
C backend: implement trunc for unsigned non-pow2 ints
bbe4a9fa99 • Andrew Kelley • Oct 29, 2021
C backend: implement trunc instruction
98009a2f66 • Andrew Kelley • Oct 29, 2021
C backend: fix `@boolToInt`
5479c0f9ac • Andrew Kelley • Oct 29, 2021
C backend: fix crash when number of Decls passes a threshold
1c93cf52d8 • Andrew Kelley • Oct 29, 2021
C backend: fix ptrtoint and wrap_errunion_err
c59ee3157f • Andrew Kelley • Oct 29, 2021
behavior tests: add "passing for C backend" category
9ed955e5ca • Andrew Kelley • Oct 28, 2021
C backend: fix enough that zig test works
d2f9646d98 • Andrew Kelley • Oct 28, 2021
C backend: emit decls sorted by dependencies
234d94e42b • Andrew Kelley • Oct 28, 2021
std.ArrayListUnmanaged: implement writer()
8e93ec6d24 • Andrew Kelley • Oct 28, 2021
zig test: when -ofmt=c, default to `zig run` as test exec
e02caa7e29 • Andrew Kelley • Oct 27, 2021
Compilation: fix crash in the compile error system
6504c57176 • Andrew Kelley • Oct 27, 2021
stage2: fix small memory leak of test_functions when using `zig test`
e494ce7604 • Andrew Kelley • Oct 27, 2021
std.rand: Refactor `Random` interface
c1a5ff34f3 • Ominitay • Oct 27, 2021
Merge pull request #10040 from mattbork/extern-fn-scopes
9024f27d8f • Andrew Kelley • Oct 27, 2021
stage1: Fix path normalization on Windows
3568cd4b8f • LemonBoy • Oct 27, 2021
stage2: implement runtime pointer access to global constants
3af9731600 • Andrew Kelley • Oct 27, 2021
stage2: fix crash report code in release builds
c1fd459f14 • Andrew Kelley • Oct 27, 2021
stage2 LLVM backend: fix bitcast
11a60e8779 • Andrew Kelley • Oct 26, 2021
Fix bug in exp2() (#9999)
f890de6294 • Lewis Gaul • Oct 26, 2021
multi_array_list: get function take self by value
ad5b90ab10 • Jonathan Marler • Oct 26, 2021
Sema: fix ret_ptr when inlining
79702c144d • Andrew Kelley • Oct 26, 2021
Sema: improved C pointers and casting
c6b3d06535 • Andrew Kelley • Oct 26, 2021
Sema: fix coercion from union to its own tag
6df26a37d1 • Andrew Kelley • Oct 26, 2021
astgen: generate correct switch prong indices
25012ab3d1 • Robin Voetter • Oct 26, 2021
Don't call render_const_val_array() on undefined
17e46a3b97 • Daniele Cocca • Oct 26, 2021
Merge pull request #10035 from Snektron/stage2-orelse
f2a174b294 • Andrew Kelley • Oct 26, 2021
Merge pull request #10034 from Snektron/stage2-slice
df198ea60e • Andrew Kelley • Oct 25, 2021
Merge pull request #9874 from leecannon/frame_pointer
30d01c8fea • Andrew Kelley • Oct 25, 2021
Sema: fix switch that covers full integer range
97dc5f6eb5 • Andrew Kelley • Oct 25, 2021
stage2: fix switch on tagged union capture-by-pointer
8509e7111d • Andrew Kelley • Oct 25, 2021
fix(uefi MemoryDescriptor): padding after memory type
a132190cad • Stephen von Takach • Oct 25, 2021
Sema: implement coercion from pointers to `*c_void`
ed7328119f • Andrew Kelley • Oct 25, 2021
AstGen: move nodeMayEvalToError logic for builtins
8f3e1ea0f0 • Andrew Kelley • Oct 25, 2021
Merge pull request #10019 from mattbork/ret-fixes
d4bf44024a • Andrew Kelley • Oct 25, 2021
Fix documentation for Random.int
3f6eef22e4 • ominitay • Oct 25, 2021
Revert 83bdbb2 and a587dd0 (#10028)
df167af0b6 • Robin Voetter • Oct 25, 2021
std: disable big.rational setFloat targeting wasm32
a587dd08f8 • Jakub Konka • Oct 24, 2021
stage2: refactor coercePeerTypes and fix C ptr cmp with null
ce65ca4345 • Andrew Kelley • Oct 24, 2021
std.log: simplify to 4 distinct log levels
f7b090d707 • Isaac Freund • Oct 24, 2021
macho: remove unresolved ref in the correct place
6cf5305e47 • Jakub Konka • Oct 24, 2021
Merge pull request #10022 from LemonBoy/fix-10001
f80fd7e1a6 • Andrew Kelley • Oct 24, 2021
Merge pull request #10017 from Snektron/big-int-div
94879506ea • Andrew Kelley • Oct 24, 2021
std: Fix edge case in TLS tp calculation
1690b35770 • LemonBoy • Oct 24, 2021
stage2: implement more C pointer Sema and comptime ptr arith
22b4c9e1a9 • Andrew Kelley • Oct 24, 2021
Minor rewording of "Shadowing" section within language reference
ee98d87008 • Michael Byrne • Oct 23, 2021
stage2: LLVM backend: fix optional_payload instructions
6aeb6bcc84 • Andrew Kelley • Oct 23, 2021
stage2: implement aligned variables and `@alignCast`
d97928bf52 • Andrew Kelley • Oct 23, 2021
stage2: slice and alignment fixes
01c1f41520 • Andrew Kelley • Oct 23, 2021
Sema: fix a couple use-after-free bugs
b24e9b6347 • Andrew Kelley • Oct 22, 2021
stage2: fix Decl addrspace being undefined
f0dcdd7931 • Andrew Kelley • Oct 22, 2021
stage2: change `@bitCast` to always be by-value
069c83d58c • Andrew Kelley • Oct 22, 2021
zig libc: export floorl and ceill
86b9280963 • Andrew Kelley • Oct 22, 2021
macho: dump linker's state as JSON
d0dceae736 • Jakub Konka • Oct 22, 2021
Sema: resoveTypeLayout resolves optionals and error unions too
912e7dc54b • Andrew Kelley • Oct 22, 2021
stage2: LLVM backend: add a missing setUnnamedAddr
6cd14f051d • Andrew Kelley • Oct 22, 2021
Sema: fix type checking of `@intToFloat` operands
895aea0b63 • Andrew Kelley • Oct 22, 2021
stage2: implement comptime loads through casted pointers
0a6851cc6d • Andrew Kelley • Oct 22, 2021
stage2: fix Value.copy not copying arrays
1bce0ed046 • Andrew Kelley • Oct 22, 2021
stage2: more division support
7f70c27e9d • Andrew Kelley • Oct 22, 2021
stage2: truncation
a3c9bfef30 • Robin Voetter • Oct 22, 2021
Merge pull request #9993 from Snektron/more-field-elem
d49c601d62 • Andrew Kelley • Oct 21, 2021
InstallRawStep: handle empty segments
e2a2e6c14f • Jonathan Marler • Oct 21, 2021
distinguish between unexpected child process exit code and unclean exit
da2b615efb • Jonathan Marler • Oct 21, 2021
stage2: implement slicing
a0e195120d • Andrew Kelley • Oct 21, 2021
Sema: fix missing copy in array multiplication
3b2e25ed87 • Andrew Kelley • Oct 21, 2021
stage2: LLVM backend: fix decls sometimes not marked alive
8b734380f9 • Andrew Kelley • Oct 20, 2021
stage2: implement big int to float conversion
c8ded2f9c9 • Andrew Kelley • Oct 20, 2021
AstGen: make the index variable of `inline for` a `alloc_comptime`
4cb5fed10b • Andrew Kelley • Oct 20, 2021
stage2: fix inline assembly with expression output
361217bda2 • Andrew Kelley • Oct 20, 2021
translate-c: create `inline fn` for always_inline
d949180ab0 • Stéphan Kochen • Oct 20, 2021
stage2: LLVM backend: implement switch_br
ed2a5081e1 • Andrew Kelley • Oct 20, 2021
stage2: implement switching on unions
dfb3231959 • Andrew Kelley • Oct 20, 2021
Merge pull request #9984 from Snektron/field-elem-access
4a76523b92 • Andrew Kelley • Oct 20, 2021
macho: fix LLVM codepaths in self-hosted linker
372e9709ad • Jakub Konka • Oct 19, 2021
translate_c: prevent a while under an if from stealing the else
2d7b55aa0a • Matthew Borkowski • Oct 19, 2021
astgen.zig: fix emitting wrong error unwrapping instructions in tryExpr
135cb529de • Matthew Borkowski • Oct 19, 2021
src/link/C/zig.h: Fix indent
ec3ed92f48 • Sizhe Zhao • Oct 19, 2021
stage2: fix coercion of error set to error union
bea447a637 • Andrew Kelley • Oct 18, 2021