aboutsummaryrefslogtreecommitdiff
path: root/src/ast_render.cpp
AgeCommit message (Collapse)Author
2017-04-12block statement lists never get fake expressionsJosh Wolfe
instead blocks have a field that encodes whether the last statement ended with a semicolon.
2017-04-13ability to inline at function callsiteAndrew Kelley
closes #306
2017-04-10fix some -Wconversion errorsAndrew Kelley
2017-03-26new unreachable syntaxAndrew Kelley
* `noreturn` is the primitive type. * `unreachable` is a control flow keyword. * `@unreachable()` builtin function is deleted. closes #214
2017-03-26add comptime top level declarationAndrew Kelley
closes #255
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-27fix inability to write to global in some casesAndrew Kelley
before, when we initialized a variable by copying the initialization value, it made the internal const value references point to a duplicate value, resulting in a phony duplicate global value being updated instead of the real on. now the behavior is as expected. thanks to hoppetosse for pointing out this bug on IRC.
2017-02-05fix assigning to const ptr through struct or indexAndrew 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-03exported global variables get emitted as external in LLVMAndrew Kelley
2017-02-03implement packed structsAndrew Kelley
closes #183
2017-02-02add try expressionAndrew Kelley
See #83
2017-02-02remove ability to mark if and switch as inlineAndrew Kelley
if and switch are implicitly inline if the condition/target expression is known at compile time. instead of: ``` inline if (condition) ... inline switch (target) ... ``` one can use: ``` if (comptime condition) ... switch (comptime target) ... ```
2017-01-23various fixesAndrew Kelley
* comptime expression is a block expression as it should be * fix var args when number of args passed is 0 * implement const value equality for structs * fix indent when rendering container decl AST * IR: prevent duplicate generation of code when it is partially compile-time evaluated * implement compile time struct field pointer evaluation * fix compile time evaluation of slicing
2017-01-23basic support for functions with variable length argumentsAndrew Kelley
See #77
2017-01-22introduce comptime expressionAndrew Kelley
closes #221
2017-01-16get rid of zeroes literalAndrew Kelley
closes #222
2017-01-12IR: implement macro for function aliasing function pointerAndrew Kelley
2017-01-11pass some parseh testsAndrew Kelley
2017-01-11pass more testsAndrew Kelley
2017-01-10partially fix parseh commandAndrew Kelley
2016-12-18remove duplicate definition of container_stringAndrew Kelley
2016-12-18IR: all structs anonymousAndrew 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-12IR: implement memcpy, memset, and slice expressionAndrew Kelley
2016-12-11IR: fix implementation of parsehAndrew Kelley
libc hello world works now
2016-12-06IR: implement deferAndrew Kelley
2016-12-05IR: implement break and continueAndrew Kelley
2016-12-05IR: implement generic function callsAndrew Kelley
2016-12-04add missing copyright noticesAndrew Kelley
2016-12-04IR: re-organize where state goes to prepare for genericsAndrew Kelley
* Rip out legacy code for generics * put scope in instruction instead of AST nodes * separate top level decl stuff from AST nodes - remove the assumption that there is a 1:1 correspondence between an output instruction and an AST node - This way we won't have to clone AST nodes for generics.
2016-11-26IR: support goto and labelsAndrew Kelley
2016-11-26IR: support import builtin functionAndrew Kelley
2016-11-26IR: switch expression works with numbersAndrew Kelley
2016-11-24IR: generating a switch statementAndrew Kelley
2016-11-21IR: support unwrap maybe operationAndrew Kelley
2016-11-19IR: error for uncasted null lit variableAndrew Kelley
2016-11-19IR: implement compileVar builtin and moreAndrew Kelley
* implicit array to slice cast * fix if statements at global scope * implement array type IR
2016-11-18IR: more maybe type supportAndrew Kelley
2016-11-18IR: support setDebugSafety builtin functionAndrew Kelley
2016-11-17remove AST cloning code and add AST render for while loopsAndrew Kelley
2016-11-13IR: add assembly instructionAndrew Kelley
2016-11-13IR: fix prefix op eval setting wrong typeAndrew Kelley
2016-11-13IR handles global variables correctlyAndrew Kelley
2016-11-04WIP moving all analysis to IRAndrew Kelley
2016-09-28remove compiler directivesAndrew Kelley
* add `setFnTest`, `setFnVisible`, `setFnStaticEval`, `setFnNoInline` builtin functions to replace previous directive functionality * add `coldcc` and `nakedcc` as keywords which can be used as part of a function prototype. * `setDebugSafety` builtin can be used to set debug safety features at a per block scope level. * closes #169
2016-09-26add this keyword refers to thing in immediate scopeAndrew Kelley
See #169
2016-09-19use size_t for indexesAndrew Kelley
protect against incorrect copies in debug mode