aboutsummaryrefslogtreecommitdiff
path: root/src/ir_print.cpp
AgeCommit message (Collapse)Author
2017-04-18rename `@intType` to `@IntType` to follow conventionAndrew Kelley
closes #327
2017-04-13ability to inline at function callsiteAndrew Kelley
closes #306
2017-04-08add enumTagName builtin functionAndrew Kelley
closes #299
2017-04-03delete alloca builtin functionAndrew Kelley
See #225 introduce os.EnvMap
2017-04-02zig build system progressAndrew Kelley
* In-progress os.ChildProcess.spawn implementation. See #204 * Add explicit cast from integer to error. Closes #294 * fix casting from error to integer * fix compiler crash when initializing variable to undefined with no type
2017-03-31change `@bitcast` to `@ptrcast`Andrew Kelley
See #290
2017-03-31first pass at zig build systemAndrew Kelley
* `zig build --export [obj|lib|exe]` changed to `zig build_obj`, `zig build_lib` and `zig build_exe` respectively. * `--name` parameter is optional when it can be inferred from the root source filename. closes #207 * `zig build` now looks for `build.zig` which interacts with `std.build.Builder` to describe the targets, and then the zig build system prints TODO: build these targets. See #204 * add `@bitcast` which is mainly used for pointer reinterpret casting and make explicit casting not do pointer reinterpretation. Closes #290 * fix debug info for byval parameters * sort command line help options * `std.debug.panic` supports format string printing * add `std.mem.IncrementingAllocator` * fix const ptr to a variable with data changing at runtime. closes #289
2017-03-26add stack protector safety when linking libcAndrew Kelley
* introduce zigrt file. it contains only weak symbols so that multiple instances can be merged. it contains __zig_panic so that multiple .o files can call the same panic function. * remove `@setFnVisible` builtin and add @setGlobalLinkage builtin which is more powerful * add `@panic` builtin function. * fix collision of symbols with extern prototypes and internal function names * add stack protector safety when linking against libc. To add the safety mechanism without libc requires implementing Thread Local Storage. See #276
2017-03-26add debug safety checks for remainder divisionAndrew Kelley
See #217
2017-03-18lazy analysis of top level declarationsAndrew Kelley
previously, we had lazy analysis of top level declarations, but if a declaration was referenced within a compile-time if or switch statement, that would still add the top level declaration to the resolution queue. now we have a declref ir instruction, which is only resolved if we analyze the instruction. this takes into account comptime branching. closes #270
2017-03-16introduce new test syntaxAndrew Kelley
* remove setFnTest builtin * add test "name" { ... } syntax * remove --check-unused argument. functions are always lazy now.
2017-02-09lots of miscellaneous things all in one big commitAndrew 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-05setGlobalSection and setGlobalAlign work for functionsAndrew Kelley
2017-02-04remove volatileStore builtin; add volatile pointersAndrew Kelley
closes #238
2017-02-04ability to set global variable alignment and ...Andrew Kelley
..section in the initialization expression
2017-02-03add volatileStore() builtin functionAndrew Kelley
See #238 We can revisit how volatile will work later - for now here's a builtin function to do it.
2017-02-03add setGlobalAlign and setGlobalSection builtin functionsAndrew Kelley
closes #241
2017-01-24printf var args proof of conceptAndrew 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-22remove staticEval builtin in favor of comptime expressionAndrew Kelley
2017-01-12IR: implement macro for function aliasing function pointerAndrew Kelley
2017-01-10IR: implement error for missing or extra switch prongsAndrew Kelley
2017-01-08pass unnecessary if statement testAndrew Kelley
2017-01-05containers created during eval get names for parametersAndrew Kelley
2016-12-26IR: pass intToEnum testAndrew Kelley
2016-12-26IR: pass cStringConcatenation testAndrew Kelley
2016-12-26IR: pass intToPtrCast testAndrew Kelley
2016-12-26IR: pass enumToInt testAndrew Kelley
2016-12-25IR: support compile time global pointer reinterpretAndrew Kelley
this required moving the place we store types to ConstExprValue
2016-12-22IR: support const refAndrew Kelley
2016-12-21IR: implement runtime enum init and switch on enum with variableAndrew Kelley
2016-12-20IR: enum init supportAndrew Kelley
2016-12-19IR: support maybe defersAndrew Kelley
2016-12-19IR: if and switch guaranteed compile time if target expr isAndrew Kelley
2016-12-18IR: add FnProto instructionAndrew Kelley
2016-12-18IR: fix err variable in ErrOkOr instructionAndrew Kelley
2016-12-17IR: consolidate Ref and PrefixOpAddressOf instructionsAndrew Kelley
2016-12-17IR: add more instructionsAndrew Kelley
* MaybeWrap * TestErr * UnwrapErrCode * UnwrapErrPayload * ErrUnionTypeChild * ErrWrapCode * ErrWrapPayload
2016-12-13IR: implement maybe return expressionAndrew Kelley
2016-12-13IR: implement the rest of the builtin functionsAndrew Kelley
* returnAddress * frameAddress * addWithOverflow * subWithOverflow * mulWithOverflow * shlWithOverflow * alignOf
2016-12-13IR: implement breakpoint builtinAndrew Kelley
2016-12-12IR: implement memberCount builtinAndrew Kelley
2016-12-12IR: implement memcpy, memset, and slice expressionAndrew Kelley
2016-12-11IR: implement alloca builtinAndrew Kelley
2016-12-11IR: implement intType builtinAndrew Kelley
and int type field access and fix compile time bool not
2016-12-11IR: implement truncate builtinAndrew Kelley
2016-12-11IR: implement divExact builtinAndrew Kelley
2016-12-11IR: implement fence and cmpxchg builtinsAndrew Kelley
2016-12-11IR: implement embedFile builtinAndrew Kelley
2016-12-11IR: fix implementation of parsehAndrew Kelley
libc hello world works now
2016-12-08IR: omit debug safety checks in for loop codegenAndrew Kelley