| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2011-09-19 | Register tuple cleanups after the tuple is built | Brian Anderson | -1/+3 | |
| Issue #936 | ||||
| 2011-09-19 | Break fold's circular reference during unwinding | Brian Anderson | -9/+7 | |
| This converts the AST fold into a resource that breaks it's own circular reference (just a temporary workaround until GC), so that failure during fold will unwind correctly. Issue #936 | ||||
| 2011-09-19 | Build records in two phases to avoid cleanups on partial records | Brian Anderson | -5/+42 | |
| 2011-09-19 | Don't register record cleanups until the record is built | Brian Anderson | -1/+1 | |
| 2011-09-18 | Stop creating function pairs for static functions | Marijn Haverbeke | -86/+43 | |
| These are now called directly. When taking their value, a null pointer is added to create a pair. | ||||
| 2011-09-17 | Add a precondition to GEP_tup_like | Tim Chevalier | -4/+73 | |
| 2011-09-17 | Add a type_is_tup_like predicate that takes a block ctxt, and make some fns pure | Tim Chevalier | -15/+18 | |
| 2011-09-17 | In trans, replace another impossible case with a precondition | Tim Chevalier | -11/+8 | |
| 2011-09-16 | Make move-mode arguments unwind correctly. Closes #939 | Brian Anderson | -31/+56 | |
| 2011-09-16 | Dead code elim | Tim Chevalier | -14/+0 | |
| 2011-09-16 | Add a constraint on trans::type_of_fn_from_ty | Tim Chevalier | -23/+49 | |
| And change callers appropriately. | ||||
| 2011-09-16 | Add a returns_non_ty_var predicate | Tim Chevalier | -0/+4 | |
| which just calls non_ty_var on the return type of t, assuming t is a function type. | ||||
| 2011-09-16 | Make ty_fn_ret pure and get rid of a duplicate function | Tim Chevalier | -16/+14 | |
| 2011-09-16 | Work around an apparent compiler bug to make my patch run | Marijn Haverbeke | -5/+6 | |
| Without this, it would fail when optimization is turned on. The result of the Load(bcx, llclosure) call would end up in llenv in a corrupted form. | ||||
| 2011-09-16 | Saner approach to lvalues and callable values in trans | Marijn Haverbeke | -194/+217 | |
| LValues no longer carry information about generics and objs, instead there's an extended form of lvalue, lval_maybe_callee, only used by call and bind, which holds this info. This makes it possible to take the value of a method and get a working closure, and will (with some more work) allow us to call statically known functions without loading from their pair. Closes #435 Closes #758 | ||||
| 2011-09-16 | Add non_ty_var precondition for type_of_fn, plus minor cleanup | Tim Chevalier | -10/+17 | |
| 2011-09-16 | Revert "Saner approach to lvalues and callable values in trans" | Marijn Haverbeke | -217/+194 | |
| This reverts commit 66153436c9070386786c8a38cde199b5d3e71289. | ||||
| 2011-09-16 | Require body of else-less if expressions to be a value-less block | Marijn Haverbeke | -12/+16 | |
| For consistency with other constructs that could not possibly return a value (say, loops). | ||||
| 2011-09-16 | Saner approach to lvalues and callable values in trans | Marijn Haverbeke | -194/+217 | |
| LValues no longer carry information about generics and objs, instead there's an extended form of lvalue, lval_maybe_callee, only used by call and bind, which holds this info. This makes it possible to take the value of a method and get a working closure, and will (with some more work) allow us to call statically known functions without loading from their pair. Closes #435 Closes #758 | ||||
| 2011-09-16 | Move expr_uniq case in trans to a saner place | Marijn Haverbeke | -12/+4 | |
| Note that unique pointers are still broken in more ways than I can count. | ||||
| 2011-09-16 | Remove autoderef for calls | Marijn Haverbeke | -24/+12 | |
| We were only using it in a single place, and there for no discernable reason (probably as part of the bare-fn-vals-are-not-copyable plan). It seems more surprising than useful. | ||||
| 2011-09-16 | Remove unused method_ty field from lval_result | Marijn Haverbeke | -10/+5 | |
| 2011-09-16 | Clean up (and optimize) root-mutability analysis in alias.rs | Marijn Haverbeke | -70/+64 | |
| 2011-09-16 | Change convention for specifying referenced argument | Marijn Haverbeke | -20/+32 | |
| It is now 1-based, rather than 0 based. (Seems more natural, and allows 0 to be used to refer to self and maybe to closure.) Also allows non-referenced args to be implicitly copied again. Issue #918 | ||||
| 2011-09-15 | Actually call unreachable() in impossible case in type_of_inner | Tim Chevalier | -3/+5 | |
| 2011-09-15 | Added non_ty_var precondition to trans::type_of_inner | Tim Chevalier | -57/+109 | |
| This allows us to legitimately call unreachable() in the ty_var case. | ||||
| 2011-09-15 | Add parens, as needed, around else-if conditions. | Jesse Ruderman | -1/+1 | |
| 2011-09-15 | Added an extra check in trans_alt | Tim Chevalier | -0/+1 | |
| Gratuitous right now, but I'm going to change the type of trans::type_of | ||||
| 2011-09-15 | Added more predicates in trans | Tim Chevalier | -2/+16 | |
| Added the non_ty_var predicate (soon to be used) Added a check in get_res_dtor (will be necessary for a future change to type_of_fn) Removed a gratuitous ret | ||||
| 2011-09-15 | Change a few span_fatals to span_err | Tim Chevalier | -5/+5 | |
| 2011-09-15 | Update README slightly. | Graydon Hoare | -2/+3 | |
| 2011-09-15 | Prevent binary expressions from parsing when lhs is non-value block | Marijn Haverbeke | -0/+1 | |
| 2011-09-15 | Generalize expression roots in alias analysis | Marijn Haverbeke | -35/+40 | |
| This allows calls-returning-a-reference to count as expression roots, making it possible to return the result of such a call by reference. Issue #918 | ||||
| 2011-09-15 | Require the parameter that will be referenced to be noted | Marijn Haverbeke | -38/+74 | |
| Issue #918 | ||||
| 2011-09-15 | Overhaul alias-checking of blocks | Marijn Haverbeke | -34/+27 | |
| The set of active bindings has to be updated as by-reference locals are encountered. Issue #918 | ||||
| 2011-09-15 | Make storing returned references in a by-reference local work | Marijn Haverbeke | -39/+47 | |
| fn f(a: {x: str}) -> &str { ret a.x; } fn main() { let x = {x: "hi"}; let &y = f(x); // Look ma, no copy! log_err y; } Issue #918. | ||||
| 2011-09-15 | Forbid assignment to by-reference bindings | Marijn Haverbeke | -21/+25 | |
| Issue #918 | ||||
| 2011-09-15 | Make trans understand by-ref bindings | Marijn Haverbeke | -8/+19 | |
| Issue #918 | ||||
| 2011-09-15 | Implement basic checking of by-reference bindings | Marijn Haverbeke | -3/+57 | |
| Issue #918 | ||||
| 2011-09-15 | Move local numbering into ast_map.rs | Marijn Haverbeke | -48/+67 | |
| This further simplifies the alias pass, which is sorely needed. | ||||
| 2011-09-15 | Add representation for by-ref let bindings | Marijn Haverbeke | -19/+31 | |
| Issue #918 | ||||
| 2011-09-15 | Ensure parens are wrapped around composite exprs in call/index/field pos | Marijn Haverbeke | -5/+10 | |
| This is needed to fix the second example in issue #919 | ||||
| 2011-09-15 | More thorough check for (.. 10).x in pretty-printer | Marijn Haverbeke | -5/+21 | |
| Closes #919 | ||||
| 2011-09-15 | Also handle fail and put in print_maybe_parens_discrim | Marijn Haverbeke | -2/+5 | |
| Closes #920 | ||||
| 2011-09-15 | Remove maybe_protect_block kludge from pretty-printer | Marijn Haverbeke | -86/+0 | |
| It is no longer needed. | ||||
| 2011-09-15 | Introduce new semicolon rules | Marijn Haverbeke | -71/+44 | |
| - Loop bodies and resource constructors aren't allowed to have trailing expressions anymore. - An expression that ends* in a block without trailing expression can can not be called, indexed, or subscripted. - Only expression-statements that end* in a block without trailing expression can omit their semicolon. *) 'Ending in a trailing expression' is defined as being a block or construct-ending-in-a-block (if, alt) that either ends in an expression itself, or ends in another block-like expression that has a trailing expression (by these same rules). | ||||
| 2011-09-15 | Insert omitted semicolons for statements | Marijn Haverbeke | -17/+14 | |
| 2011-09-14 | Revert "Try a little harder to avoid creating new landing pads" | Brian Anderson | -11/+10 | |
| This reverts commit b8e31ac46917edcf5922f0b191c5e6c4505830d2. Conflicts: src/comp/middle/trans.rs | ||||
| 2011-09-14 | Add syntax and representation for return-by-mutably-rooted-ref | Marijn Haverbeke | -34/+55 | |
| This will be used in the near future to decide what can safely be done with the returned reference. Issue #918 | ||||
| 2011-09-14 | Prevent memory errors when returning references to temp args. | Marijn Haverbeke | -14/+18 | |
| Issue #918 | ||||
