aboutsummaryrefslogtreecommitdiff
path: root/src/ast_render.cpp
AgeCommit message (Collapse)Author
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
2016-09-08ability to infer parameter typesAndrew Kelley
2016-08-08add zeroes valueAndrew Kelley
2016-08-04new multiline string syntaxAndrew Kelley
This patch also moves a bunch of the parser code into the tokenizer. Closes #162.
2016-07-27explicit wrapping integer operationsAndrew Kelley
instead of wrapping integer types closes #159
2016-07-25inline parametersAndrew Kelley
This replaces the current generic syntax for functions and replaces it with the concept of inline parameters. This paves the way for the "all structs anonymous" proposal. Closes #151.