aboutsummaryrefslogtreecommitdiff
path: root/src/comp/middle
Commit message (Collapse)AuthorAgeFilesLines
* Update comment to reflect the decision to avoid cycles.Rafael Ávila de Espíndola2011-03-161-2/+2
|
* rustc: Add an annotation for the crate definition to view_item_usePatrick Walton2011-03-152-8/+8
|
* Revert "Change the numbering of upcall functions. upcall_0 now calls a ↵Patrick Walton2011-03-151-3/+4
| | | | | | function" due to tinderbox failure on win32 This reverts commit bd9dd5ed1ab4565141c0c08b4cf2245e451a3eb1.
* Change the numbering of upcall functions. upcall_0 now calls a functionRafael Ávila de Espíndola2011-03-151-4/+3
| | | | | with no arguments. This is still preparation for calling functions that don't take a rust task argument.
* Merge remote branch 'brson/recursive-elseif'Graydon Hoare2011-03-144-92/+35
|\
| * Merge branch 'master' into recursive-elseifBrian Anderson2011-03-136-553/+1220
| |\ | | | | | | | | | | | | | | | Conflicts: src/comp/middle/typeck.rs
| * | Remove extra blocks from the translation of expr_blockBrian Anderson2011-03-131-20/+2
| | | | | | | | | | | | Doesn't seem to break anything and allows trans_if to be streamlined
| * | Merge branch 'master' into recursive-elseifBrian Anderson2011-03-075-1483/+3920
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/Makefile src/comp/front/ast.rs src/comp/front/parser.rs src/comp/middle/fold.rs src/comp/middle/trans.rs
| * | | Allow the else part of an expr_if to be either expr_if or expr_blockBrian Anderson2011-02-013-19/+45
| | | |
* | | | Rename check_assignment_like to check_assignment since it turned out not to ↵Brian Anderson2011-03-141-5/+4
| | | | | | | | | | | | | | | | be useful for send/recv
* | | | Fix the typechecking for expr_send and expr_recvBrian Anderson2011-03-141-8/+38
| | | |
* | | | Add ty_port and ty_chan to expr_ty functionBrian Anderson2011-03-141-11/+13
| | | |
* | | | Typecheck expr_send and expr_recvBrian Anderson2011-03-141-0/+16
| | | |
* | | | Reorganize evaluation of expr_send/recv to put them closer to expr_assign, ↵Brian Anderson2011-03-141-29/+30
| | | | | | | | | | | | | | | | to which they are similar
* | | | Factor out expression checking for forms that look like assignmentBrian Anderson2011-03-141-23/+27
| | | |
* | | | Add folding and type checking for ports and chansBrian Anderson2011-03-143-0/+163
| | | |
* | | | Fold ty_chan and ty_portBrian Anderson2011-03-141-0/+21
| | | |
* | | | Split trans' collection in two passes. This allows us to handle tagsRafael Ávila de Espíndola2011-03-141-16/+32
| |_|/ |/| | | | | | | | | | | | | | that are defined after use in a block. This is really inefficient, but for now it lets us compile the included test.
* | | Preserve crate directives in the parsed crate.Graydon Hoare2011-03-111-4/+10
| | |
* | | rustc: Add some stub metadata to each cratePatrick Walton2011-03-112-0/+32
| | |
* | | reindex the block index.Rafael Ávila de Espíndola2011-03-111-3/+5
| | |
* | | rustc: Load structural loop variables in iterators. Un-XFAIL ↵Patrick Walton2011-03-111-1/+10
| | | | | | | | | | | | foreach-put-structured.rs.
* | | Add support for indexing tags in blocks.Rafael Ávila de Espíndola2011-03-111-8/+36
| | |
* | | rustc: Populate the upvar environment when calling iterator bodies. Un-XFAIL ↵Patrick Walton2011-03-111-5/+71
| | | | | | | | | | | | test/run-pass/iter-range.rs.
* | | rustc: Resolve upvars as necessaryPatrick Walton2011-03-111-2/+9
| | |
* | | Handle resolving to native modules.Rafael Ávila de Espíndola2011-03-101-0/+7
| | |
* | | Move the glue code to a .o file. This reduces how much asm we printGraydon Hoare2011-03-101-58/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | in each "translation unit". Part of it is not repetitive and should probably be moved to a .ll file, but for now we autogen all of it. (Modified somewhat by graydon while integrating).
* | | rustc: Build up a list of upvars inside foreach bodiesPatrick Walton2011-03-101-5/+73
| | |
* | | rustc: Use the generic info from the item in bind thunks just as calls do. ↵Patrick Walton2011-03-101-0/+2
| | | | | | | | | | | | Un-XFAIL drop-parametric-closure-with-bound-box.rs.
* | | rustc: Increment the counter in trans_bind_thunk()Patrick Walton2011-03-101-1/+1
| | |
* | | rustc: Fix off-by-one error and logic error regarding type parameters in the ↵Patrick Walton2011-03-101-1/+1
| | | | | | | | | | | | translation of bind expressions. Un-XFAIL bind-obj-ctor.rs.
* | | rustc: Perform a cast in vector initialization due to changing layers of ↵Patrick Walton2011-03-101-1/+21
| | | | | | | | | | | | indirection. Keep test/run-pass/size-and-align.rs XFAIL'd due to a leak in rustboot.
* | | rustc: Run cleanups on while expressions' condition blocks. Un-XFAIL ↵Patrick Walton2011-03-101-3/+3
| | | | | | | | | | | | while-prelude-drop.rs.
* | | Implement deep structural comparison through boxes and sequences.Graydon Hoare2011-03-092-68/+145
| | |
* | | rustc: Have tag patterns use the type parameter information from the ↵Patrick Walton2011-03-092-10/+49
| | | | | | | | | | | | typechecker instead of trying to deduce it in trans. Un-XFAIL test/run-pass/generic-tag-values.rs.
* | | Fold exports.Graydon Hoare2011-03-091-0/+13
| | |
* | | Have the pretty-printer take a writer stream as argumentMarijn Haverbeke2011-03-091-80/+1
| | | | | | | | | | | | | | | It now uses a string writer to also fill in for middle.ty.ast_ty_to_str
* | | rustc: Perform type substitutions for tag variants in dynamic_size_of()Patrick Walton2011-03-091-1/+9
| | |
* | | rustc Remove dead "llunit_ty" assignment in trans_indexPatrick Walton2011-03-091-1/+0
| | |
* | | rustc: Make tag pattern translation generic-aware. Un-XFAIL generic-tag-alt.rs.Patrick Walton2011-03-091-32/+50
| | |
* | | Rename confusing usage of "lltag" to "lldiscrim" in trans_pat_match()Patrick Walton2011-03-091-3/+3
| | |
* | | rustc: Have demand_pat() extract type parameters from tags. Add a test case.Patrick Walton2011-03-091-8/+19
| | |
* | | rustc: Substitute type parameters in type_of_variant(). Add a test case.Patrick Walton2011-03-091-5/+10
| | |
* | | rustc: Remove redundant ty_params_of_tag() functionPatrick Walton2011-03-091-13/+1
| | |
* | | rustc: Perform type parameter substitutions in static_size_of_tag()Patrick Walton2011-03-091-0/+18
| | |
* | | rustc: Don't try to load dynamically-sized types when translating tag ↵Patrick Walton2011-03-091-1/+2
| | | | | | | | | | | | variants. Add a test case for this.
* | | Pass the task pointer as just another i32.Rafael Ávila de Espíndola2011-03-091-2/+3
| | |
* | | swap taskptr and callee in preparation for making taskptr optional.Rafael Ávila de Espíndola2011-03-091-3/+3
| | |
* | | rustc: Instantiate tag patterns with the type parameters supplied by the ↵Patrick Walton2011-03-091-6/+6
| | | | | | | | | | | | programmer. size-and-align.rs typechecks now.
* | | rustc: Factor the type parameter and type lookup out of instantiate_path(), ↵Patrick Walton2011-03-091-28/+32
| | | | | | | | | | | | as patterns need different logic