aboutsummaryrefslogtreecommitdiff
path: root/src/analyze.cpp
AgeCommit message (Collapse)Author
2018-10-13fix compiler crashAndrew Kelley
2018-10-13C ABI and compiler rt improvements for ARMAndrew Kelley
* add __multi3 compiler rt function. See #1290 * compiler rt includes ARM functions for thumb and aarch64 and other sub-arches left out. See #1526 * support C ABI for returning structs on ARM. see #1481
2018-10-04refactor ir.cppAndrew Kelley
Analysis functions no longer return `ZigType *`. Instead they return `IrInstruction *`.
2018-10-01Fixed StackTrace not being resolved when panic is invalid (#1615)Jimmi Holst Christensen
2018-10-01std lib: flesh out the async I/O streaming API a bitAndrew Kelley
2018-09-26fix crash when compile error evaluating return...Andrew Kelley
...type of inferred error set. closes #1591
2018-09-26fix variables which are pointers to packed struct fieldsAndrew Kelley
closes #1121
2018-09-26the last number in a packed ptr is host int bytesAndrew Kelley
See #1121
2018-09-25fix crash on runtime index into slice of comptime typeAndrew Kelley
closes #1435
2018-09-25fix self reference through fn ptr field crashAndrew Kelley
closes #1208
2018-09-20better string literal caching implementationAndrew Kelley
We were caching the ConstExprValue of string literals, which works if you can never modify ConstExprValues. This premise is broken with `comptime var ...`. So I implemented an optimization in ConstExprValue arrays, where it stores a `Buf *` directly rather than an array of ConstExprValues for the elements, and then similar to array of undefined, it is expanded into the canonical form when necessary. However many operations can happen directly on the `Buf *`, which is faster. Furthermore, before a ConstExprValue array is expanded into canonical form, it removes itself from the string literal cache. This fixes the issue, because before an array element is modified it would have to be expanded. closes #1076
2018-09-18fix optional pointer to empty struct incorrectly being non-nullAndrew Kelley
closes #1178
2018-09-17allow extern structs to have stdcallcc function pointersAndrew Kelley
closes #1536
2018-09-16fix crash when pointer casting a runtime extern functionAndrew Kelley
2018-09-14fix alignment of structsAndrew Kelley
closes #1248 closes #1052 closes #1154
2018-09-14fix coroutine alignmentAndrew Kelley
zig returned the wrong alignment for coroutine promises in some cases
2018-09-13remove `this`. add `@This()`.Andrew Kelley
closes #1283
2018-09-13add compile error for merging non- error setsAndrew Kelley
closes #1509
2018-09-13fix tagged union with only 1 field tripping assertionAndrew Kelley
closes #1495 now the tag type of an enum with only 1 item is comptime_int.
2018-09-11error messages for attempted cache when zig cannot perfectly do itAndrew Kelley
2018-09-11Merge remote-tracking branch 'origin/master' into stage1-cachingAndrew Kelley
2018-09-11fix incorrect error union const value generationAndrew Kelley
closes #1442 zig needed to insert explicit padding into this structure before it got bitcasted.
2018-09-11ability to disable cache. off by default except for...Andrew Kelley
...zig run, zig build, compiler_rt.a, and builtin.a
2018-09-10fix llvm assertion and missing compile errorAndrew Kelley
2018-09-07improve panic message from previous commitAndrew Kelley
2018-09-07C ABI: support returning large structs on x86_64Andrew Kelley
also panic instead of emitting bad code for returning small structs See #1481
2018-09-07stage1: refactor fn type analysis to use C ABI walk fnAndrew Kelley
2018-09-07stage1: c abi for big struct worksAndrew Kelley
2018-09-06add C ABI testsAndrew Kelley
2018-09-05stage1: improve handling of generic fn proto type exprAndrew Kelley
closes #902
2018-09-05add compile error for using outer scoped runtime variablesAndrew Kelley
from a fn defined inside it. closes #876
2018-09-05stage1: rename more TypeTableEntry types to ZigTypeAndrew Kelley
2018-09-05stage1: rename VariableTableEntry to ZigVarAndrew Kelley
2018-09-05stage1: rename FnTableEntry to ZigFnAndrew Kelley
2018-09-05stage1: rename TypeTableEntry to ZigTypeAndrew Kelley
2018-09-04stage1: use os_path_resolve instead of os_path_realAndrew Kelley
to canonicalize imports. This means that softlinks can represent different files, but referencing the same absolute path different ways still references the same import.
2018-09-04add compile error for comptime control flow inside runtime blockAndrew Kelley
closes #834
2018-09-03compile errors for unimplemented minValue/maxValue builtinsAndrew Kelley
2018-08-28add compile error for function prototype with no bodyAndrew Kelley
closes #1231
2018-08-27this was intended to be included in the previous commitAndrew Kelley
2018-08-27fix false negative determining if function is genericAndrew Kelley
This solves the smaller test case of #1421 but the other test case is still an assertion failure.
2018-08-25Merge remote-tracking branch 'origin/master' into macos-stack-tracesAndrew Kelley
2018-08-25fix regressionsAndrew Kelley
2018-08-25fix stack traces on linuxAndrew Kelley
2018-08-23fix error message for incorrect panic handler fn signatureAndrew Kelley
closes #1353
2018-07-27remove ability to break from suspend blocksAndrew Kelley
closes #803
2018-07-26coroutines have 3 more bits of atomic stateAndrew Kelley
2018-07-26add compile error for ignoring return value of while loop bodiesAndrew Kelley
closes #1049
2018-07-24self-hosted: function types use table lookupAndrew Kelley
2018-07-24fix logic for determining whether param requires comptimeAndrew Kelley
closes #778 closes #1213