summaryrefslogtreecommitdiff
path: root/mi
AgeCommit message (Collapse)Author
2016-01-30Error on unmatchable types.Ori Bernstein
2016-01-29Functions act as basic types.Ori Bernstein
Fixes #65
2016-01-24Only walk pointer patterns that walk pointers.Ori Bernstein
2016-01-24Handle the other branch for pointers.Ori Bernstein
2016-01-24Add pointer match syntax.Ori Bernstein
2016-01-20Add a distinction between label values and names.Ori Bernstein
This allows us to have labels work across scopes in assembly source.
2016-01-09Don't attach wildcards *AFTER* accept nodes.Ori Bernstein
2016-01-03Update mkfiles for code shuffleOri Bernstein
2016-01-02Don't double label BBs.Ori Bernstein
If we've already got a BB with a specific label, don't add that label again. Fixes #28
2016-01-01Actually check array sizes when inferring.Ori Bernstein
2015-12-30Don't double-infer nodes.Ori Bernstein
This was leading to us deciding that variables double declared.
2015-12-30Missing a cast to fold to the right type.Ori Bernstein
The length of an array should always be converted to the type used for indexing. Fixes #31
2015-12-18Don't introduce loops in the match trie.Ori Bernstein
2015-12-15Fix wildcards for void.Ori Bernstein
Void acts like a primitive here.
2015-12-15Allow matching a single void.Ori Bernstein
Void has 1 constructor, not 0.
2015-12-14Initial support for void as an expression.Ori Bernstein
2015-12-13Initialize ret() to 0.Ori Bernstein
Fix scan-build warning.
2015-12-13Don't generate useless assignments.Ori Bernstein
We never generate them...
2015-12-13Fix a couple of segfaults.Ori Bernstein
We should actually use valid values when generating errors.
2015-12-11Fix code to disallow use before definition.Ori Bernstein
At least in some cases.
2015-11-17MEGAPATCH: Tabification.Ori Bernstein
Tabs > spaces. By 4 spaces, to be precise. Let's use them.
2015-11-06Fix patterns with multiple sequential wildcardsOri Bernstein
(a, b) was an invalid pattern, since we would never generate the jump to the pattern check for b.
2015-11-06Rewrite pattern matching code.Ori Bernstein
Much cleaner, and more efficient.
2015-11-06Shuffle around functions.Ori Bernstein
Move some code into the frontend so the middle end can call it.
2015-11-06We only need to load a value once.Ori Bernstein
2015-11-06Working pattern matching.Ori Bernstein
2015-11-06Pass the basic tests. we still fail complex ones.Ori Bernstein
2015-11-06Fix decision trees for structs.Ori Bernstein
2015-11-05Remove more debug spew.Ori Bernstein
2015-11-05Shut up debug spew.Ori Bernstein
2015-10-19Make improved pattern matching work for unions.Ori Bernstein
2015-10-19Work towards better match statements.Ori Bernstein
Generate decision trees from mi/match.c. Still slightly broken, so not enabled.
2015-09-27Working closures.Ori Bernstein
2015-09-26Separate out the concepts of code and func ptrs.Ori Bernstein
In order to pass around functions with environments for closures, we need to refer to the type of a function pointer, as well as the type of code. This is ugly. When I rewrite the backend I should change it.
2015-09-18Remove 'long' type.Ori Bernstein
It wasn't ever actually used.
2015-08-02Initial support for indexed initializers.Ori Bernstein
2015-07-24Replace snprintf with a variant that asserts when out of buffer.Ori Bernstein
Let's not happy silent truncate.
2015-07-05Add proper support for a 'gap' variable.Ori Bernstein
'_' is now a reserved token.
2015-06-26Fix a few misc memory bugs.Ori Bernstein
2015-05-15Add working 'uninstall' targets.glenda@cirno
2015-05-14Update mkfiles to reflect renames.Ori Bernstein
2015-05-08Use before def checking is closer to working.Ori Bernstein
Reduce spurious errors.
2015-05-08A few more fixes for dataflow checks.Ori Bernstein
2015-05-08Get closer to a working use-before-def check.Ori Bernstein
2015-05-06More work towards getting undefined variables to be defined.Ori Bernstein
2015-05-06A huge amount of work on checking.Ori Bernstein
We now check for return types, and have a partly fleshed out use-before-def analysis.
2015-05-06Compile error on reaching end of func without return.Ori Bernstein
2015-05-06Rename 'df' to 'dfcheck'.Ori Bernstein
It only checks stuff.
2015-03-08Add 'tygeneric' specifier.Ori Bernstein
2015-01-06Improve error messages.Ori Bernstein
This involved lots of table changes.