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