| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Alias-ify walk, typeck, metadata. Cuts another 80kb off rustc. | Graydon Hoare | 2011-05-09 | 6 | -150/+153 |
| | | |||||
| * | rustc: Declare upcalls with real signatures; preparation for killing ↵ | Patrick Walton | 2011-05-09 | 1 | -0/+25 |
| | | | | | rust_native_rust_* stubs | ||||
| * | rustc: Alias fix part 2 -- Check that the aliasness of function parameters ↵ | Patrick Walton | 2011-05-09 | 2 | -10/+11 |
| | | | | | matches. Add a test case. | ||||
| * | Alias-ify a variety of fn signatures in ty. Cuts 180kb off rustc. | Graydon Hoare | 2011-05-09 | 1 | -112/+114 |
| | | |||||
| * | rustc: Alias fix part 1 -- Separate out AST modes from typechecker modes, ↵ | Patrick Walton | 2011-05-09 | 4 | -68/+60 |
| | | | | | and introduce an "either value or alias" mode | ||||
| * | rustc: Stop emitting zero-length arrays | Patrick Walton | 2011-05-08 | 1 | -14/+42 |
| | | |||||
| * | Stop stringifying integers to get integral constants. | Graydon Hoare | 2011-05-07 | 1 | -32/+33 |
| | | |||||
| * | Rename std modules to be camelcased | Marijn Haverbeke | 2011-05-06 | 9 | -744/+744 |
| | | | | | (Have fun mergining your stuff with this.) | ||||
| * | rustc: For stack local derived tydescs, allocate the root tydesc separately ↵ | Patrick Walton | 2011-05-06 | 1 | -24/+36 |
| | | | | | from the parameter tydescs. This allows SROA, and consequently inlining, to work. | ||||
| * | rustc: Factor derived tydesc construction out of get_tydesc() | Patrick Walton | 2011-05-06 | 1 | -43/+44 |
| | | |||||
| * | rustc: Include a representation of the type in question in the symbols ↵ | Patrick Walton | 2011-05-06 | 1 | -1/+1 |
| | | | | | generated for tydescs | ||||
| * | rustc: Remove some debugging code from decl_native_fn_and_pair() | Patrick Walton | 2011-05-05 | 1 | -6/+0 |
| | | |||||
| * | rustc: Fix a bunch of argument-passing bugs in decl_native_fn_and_pair() | Patrick Walton | 2011-05-05 | 1 | -54/+82 |
| | | |||||
| * | Consolidating expr_to_str functions. | Lindsey Kuper | 2011-05-05 | 3 | -9/+4 |
| | | |||||
| * | Change the setup so that rust_activate_glue returns to rust_exit_task_glue | Rafael Ávila de Espíndola | 2011-05-05 | 1 | -16/+17 |
| | | | | | | | | | | | | and rust_exit_task_glue calls the rust main. This is simpler since we only need to setup one frame. It also matches what ld.so does, so gdb is happy and stops a backtrace at rust_exit_task_glue instead of continuing past whatever function happened to be before rust_exit_task_glue is the object file. This is only the rustc changes and should be merged first. | ||||
| * | rustc: Add Rust intrinsic support to the crate metadata reader and writer | Patrick Walton | 2011-05-05 | 1 | -0/+3 |
| | | |||||
| * | rustc: Fix bug in equal_abi that was preventing Rust intrinsics from working | Patrick Walton | 2011-05-05 | 1 | -0/+6 |
| | | |||||
| * | Enforce in typechecker that preds return a bool | Tim Chevalier | 2011-05-05 | 1 | -0/+11 |
| | | | | | as well as a test case | ||||
| * | Bring back "pred" syntax for writing predicates for check | Tim Chevalier | 2011-05-05 | 2 | -9/+116 |
| | | | | | | | | | | | This commit reinstates the requirement that the predicate in a "check" must be a manifest call to a special kind of function declared with the new "pred" keyword instead of "fn". Preds must have a boolean return type and can only call other preds; they can't have any effects (as enforced by the typechecker). The arguments to a predicate in a check expression must be slot variables or literals. | ||||
| * | Check well-formedness of constraints | Tim Chevalier | 2011-05-05 | 1 | -6/+23 |
| | | | | | | | Check that the operand in a constraint is an explicit name, and that the operands are all local variables or literals. Still need to check that the name refers to a pure function. | ||||
| * | Check that the operand in a check is a call | Tim Chevalier | 2011-05-05 | 2 | -8/+19 |
| | | | | | | | In addition, fix bug in fold that was turning asserts into checks. More typechecking still needs to be done. | ||||
| * | Remove 'deprecated mutable...' from our code | Marijn Haverbeke | 2011-05-05 | 2 | -12/+12 |
| | | | | | This should make compilation a bit less noisy. | ||||
| * | Return a fresh, unreachable context after ret, break, and cont | Marijn Haverbeke | 2011-05-05 | 1 | -2/+2 |
| | | | | | | | | | | This ensures we don't get compile errors on unreachable code (see test/run-pass/artificial-block.rs for an example of sane code that wasn't compiling). In the future, we might want to warn about non-trivial code appearing in an unreachable context, and/or avoid generating unreachable code altogether (though I'm sure LLVM will weed it out as well). | ||||
| * | Eradicate fold from capture.rs | Marijn Haverbeke | 2011-05-05 | 1 | -59/+54 |
| | | | | | The pass now uses walk. | ||||
| * | rustc: Add a Link module; move crate writing to it to slim down trans slightly | Patrick Walton | 2011-05-05 | 1 | -158/+4 |
| | | |||||
| * | Fix and re-enable destructors | Marijn Haverbeke | 2011-05-05 | 1 | -6/+7 |
| | | | | | | | | There was some confusion on whether the destructors took their argument by pointer or direct value. They now take it directly, just like other methods. You no longer get a segfault when a constructor actually does something with its self value. | ||||
| * | Add a structure for passing option flags around the compiler, put it in ↵ | Graydon Hoare | 2011-05-04 | 2 | -25/+21 |
| | | | | | session, and use it. | ||||
| * | Add missing ret statements to check_mod | Brian Anderson | 2011-05-04 | 1 | -0/+4 |
| | | | | | Un-XFAIL compile-fail export tests | ||||
| * | Support new -g flag, only mangle glue names by type when it's passed. | Graydon Hoare | 2011-05-04 | 1 | -8/+16 |
| | | |||||
| * | rustc: Stub support for Rust intrinsics | Patrick Walton | 2011-05-03 | 1 | -28/+55 |
| | | |||||
| * | rustc: Refactor metadata.Encode.* to not require a type abbreviation table ↵ | Patrick Walton | 2011-05-03 | 3 | -45/+53 |
| | | | | | if abbreviation isn't enabled | ||||
| * | rustc: Name type glue properly | Patrick Walton | 2011-05-03 | 1 | -3/+17 |
| | | |||||
| * | Extract ast.is_exported from the resolve module | Brian Anderson | 2011-05-02 | 1 | -18/+1 |
| | | |||||
| * | rustc: Time the Rust translation and LLVM passes separately | Patrick Walton | 2011-05-02 | 1 | -3/+3 |
| | | |||||
| * | rustc: Remove the artificial block in ty.rs. Fixes self-hosting. Add a test ↵ | Patrick Walton | 2011-05-02 | 1 | -1/+1 |
| | | | | | case for this, XFAIL'd. | ||||
| * | Un-revert "Use different syntax for checks that matter to typestate", fixing ↵ | Patrick Walton | 2011-05-02 | 8 | -381/+370 |
| | | | | | | | the problem. This reverts commit d08b443fffb1181d8d45ae5d061412f202dd4118. | ||||
| * | Revert "Use different syntax for checks that matter to typestate" | Graydon Hoare | 2011-05-02 | 8 | -370/+381 |
| | | | | | This reverts commit aa25f22f197682de3b18fc4c8ba068d1feda220f. It broke stage2, not sure why yet. | ||||
| * | rustc: Allocate tydescs on the stack when it's safe to do so. 60% compile ↵ | Patrick Walton | 2011-05-02 | 1 | -12/+33 |
| | | | | | speed increase. | ||||
| * | Use different syntax for checks that matter to typestate | Tim Chevalier | 2011-05-02 | 8 | -381/+370 |
| | | | | | | | | | | | This giant commit changes the syntax of Rust to use "assert" for "check" expressions that didn't mean anything to the typestate system, and continue using "check" for checks that are used as part of typestate checking. Most of the changes are just replacing "check" with "assert" in test cases and rustc. | ||||
| * | rustc: Add a "fat tydesc" LLVM type to trans | Patrick Walton | 2011-05-02 | 1 | -0/+6 |
| | | |||||
| * | Remove the search direction from resolve's fold environment | Brian Anderson | 2011-05-01 | 1 | -36/+31 |
| | | | | | | It's not actually involved in the fold so it can just be passed between the functions that need it. | ||||
| * | Hide unexported tag variants | Brian Anderson | 2011-05-01 | 1 | -3/+5 |
| | | |||||
| * | Implement simple module export | Brian Anderson | 2011-05-01 | 1 | -12/+60 |
| | | |||||
| * | rustc: Run scope cleanups in the implicit block created by log statements. ↵ | Patrick Walton | 2011-04-29 | 1 | -14/+18 |
| | | | | | Fixes a leak. | ||||
| * | rustc: Emit pure native glue; we don't call it yet | Patrick Walton | 2011-04-29 | 1 | -8/+19 |
| | | |||||
| * | rustc: Start threading a purity flag through upcalls | Patrick Walton | 2011-04-29 | 1 | -20/+26 |
| | | |||||
| * | Temporarily disable dtors; they broke self-hosting. | Graydon Hoare | 2011-04-29 | 1 | -1/+3 |
| | | |||||
| * | rustc: First steps to determine whether tydescs escape | Patrick Walton | 2011-04-29 | 1 | -17/+30 |
| | | |||||
| * | Don't emit metadata unless compiling -shared. | Graydon Hoare | 2011-04-29 | 2 | -5/+8 |
| | | |||||
| * | Implement destructors in rustc | Marijn Haverbeke | 2011-04-29 | 1 | -40/+60 |
| | | | | | | | Unlike rustboot, rustc keeps it destructors in vtables. Entry 0 holds either the destructor for the obj or a NULL pointer. The method offsets start at 1. | ||||