| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2017-02-09 | lots of miscellaneous things all in one big commit | Andrew Kelley | |
| * add `@compileLog(...)` builtin function - Helps debug code running at compile time - See #240 * fix crash when there is an error on the start value of a slice * add implicit cast from int and float types to int and float literals if the value is known at compile time * make array concatenation work with slices in addition to arrays and c string literals * fix compile error message for something not having field access * fix crash when `@setDebugSafety()` was called from a function being evaluated at compile-time * fix compile-time evaluation of overflow math builtins. * avoid debug safety panic handler in builtin.o and compiler_rt.o since we use no debug safety in these modules anyway * add compiler_rt functions for division on ARM - Closes #254 * move default panic handler to std.debug so users can call it manually * std.io.printf supports a width in the format specifier | |||
| 2017-02-07 | variables, memcpy, and memset all get alignment | Andrew Kelley | |
| See #37 | |||
| 2017-02-06 | coldcc works better | Andrew Kelley | |
| * Only use Cold Calling Convention on x86 * Add the cold attribute to functions marked with coldcc | |||
| 2017-02-06 | improved behavior on debug safety crash | Andrew Kelley | |
| * instead of emitting a breakpoint for a debug safety crash, zig calls a panic function which prints an error message and a stack trace and then calls abort. * on freestanding OS, this panic function has a default implementation of a simple infinite loop. * users can override the panic implementation by providing `pub fn panic(message: []const u8) -> unreachable { }` * workaround for LLVM segfaulting when you try to use cold calling convention on ARM. closes #245 | |||
| 2017-02-05 | fix volatile not respected for loads | Andrew Kelley | |
| 2017-02-05 | all functions are nounwind because zig does not support exceptions | Andrew Kelley | |
| 2017-02-05 | `%=` in inline assembly survives optimization | Andrew Kelley | |
| 2017-02-05 | setGlobalSection and setGlobalAlign work for functions | Andrew Kelley | |
| 2017-02-05 | even external functions which provide definitions get nounwind | Andrew Kelley | |
| 2017-02-04 | inline assembly supports `%=` syntax | Andrew Kelley | |
| it outputs a number that is unique to each instance of the asm statement in the entire compilation. useful when creating local labels and referring to them multiple times in a single template that generates multiple assembler instructions | |||
| 2017-02-04 | memcpy and memset builtins support volatile pointers | Andrew Kelley | |
| See #238 | |||
| 2017-02-04 | remove volatileStore builtin; add volatile pointers | Andrew Kelley | |
| closes #238 | |||
| 2017-02-04 | ability to set global variable alignment and ... | Andrew Kelley | |
| ..section in the initialization expression | |||
| 2017-02-03 | preserve names of exported variables | Andrew Kelley | |
| 2017-02-03 | add volatileStore() builtin function | Andrew Kelley | |
| See #238 We can revisit how volatile will work later - for now here's a builtin function to do it. | |||
| 2017-02-03 | add setGlobalAlign and setGlobalSection builtin functions | Andrew Kelley | |
| closes #241 | |||
| 2017-02-03 | add ability to set linker script | Andrew Kelley | |
| 2017-02-03 | typedefs work for binary math operations | Andrew Kelley | |
| 2017-02-03 | exported global variables get emitted as external in LLVM | Andrew Kelley | |
| 2017-02-02 | update outdated comment | Andrew Kelley | |
| 2017-02-02 | prefix op maybe and error are for types only | Andrew Kelley | |
| 2017-01-31 | fix crash when passing void to var args function | Andrew Kelley | |
| closes #235 | |||
| 2017-01-24 | printf var args proof of concept | Andrew Kelley | |
| See #167 Need to troubleshoot when we send 2 slices to printf. It goes into an infinite loop. This commit introduces 4 builtin functions: * `@isInteger` * `@isFloat` * `@canImplictCast` * `@typeName` | |||
| 2017-01-23 | basic support for functions with variable length arguments | Andrew Kelley | |
| See #77 | |||
| 2017-01-22 | remove staticEval builtin in favor of comptime expression | Andrew Kelley | |
| 2017-01-22 | introduce comptime expression | Andrew Kelley | |
| closes #221 | |||
| 2017-01-16 | get rid of zeroes literal | Andrew Kelley | |
| closes #222 | |||
| 2017-01-16 | fix handling of const values for 2d arrays | Andrew Kelley | |
| 2017-01-16 | fix array of enums. also render debug info for const vars | Andrew Kelley | |
| 2017-01-15 | fix enum codegen and implement comptime switch var on enums | Andrew Kelley | |
| 2017-01-12 | IR: implement macro for function aliasing function pointer | Andrew Kelley | |
| 2017-01-10 | IR: implement error for missing or extra switch prongs | Andrew Kelley | |
| 2017-01-10 | partially fix parseh command | Andrew Kelley | |
| 2017-01-08 | pass unnecessary if statement test | Andrew Kelley | |
| 2017-01-05 | fix mul and sub overflow ops being rendered as addition | Andrew Kelley | |
| 2016-12-31 | IR: std library passes codegen | Andrew Kelley | |
| 2016-12-31 | IR: add error for goto jumping over variable declaration | Andrew Kelley | |
| 2016-12-30 | IR: better basic block dependency detection | Andrew Kelley | |
| 2016-12-28 | IR: error for returning from defer expression | Andrew Kelley | |
| also fix peer type resolution for pure error mixed with error union | |||
| 2016-12-28 | IR: pass genericFnWithImplicitCast test | Andrew Kelley | |
| 2016-12-28 | IR: pass passSliceOfEmptyStructToFn test | Andrew Kelley | |
| 2016-12-26 | IR: pass intToEnum test | Andrew Kelley | |
| 2016-12-26 | IR: pass intToPtrCast test | Andrew Kelley | |
| 2016-12-26 | IR: pass staticEvalListInit test | Andrew Kelley | |
| 2016-12-26 | IR: pass enumToInt test | Andrew Kelley | |
| 2016-12-25 | IR: support compile time global pointer reinterpret | Andrew Kelley | |
| this required moving the place we store types to ConstExprValue | |||
| 2016-12-22 | IR: fix missing implicit casts in init expressions | Andrew Kelley | |
| and implement runtime struct init instruction | |||
| 2016-12-22 | pass void parameters test | Andrew Kelley | |
| 2016-12-21 | IR: implement runtime enum init and switch on enum with variable | Andrew Kelley | |
| 2016-12-20 | IR: enum init support | Andrew Kelley | |
