aboutsummaryrefslogtreecommitdiff
path: root/src/comp/front
Commit message (Collapse)AuthorAgeFilesLines
* Remove boxes from token.t.Graydon Hoare2011-05-093-42/+79
|
* rustc: Alias fix part 1 -- Separate out AST modes from typechecker modes, ↵Patrick Walton2011-05-091-2/+2
| | | | and introduce an "either value or alias" mode
* Fix GenericOS.getenv returning a raw str, return an Option.t[str] instead.Graydon Hoare2011-05-061-2/+11
|
* Rename std modules to be camelcasedMarijn Haverbeke2011-05-069-256/+256
| | | | (Have fun mergining your stuff with this.)
* rustc: Add Rust intrinsic support to the crate metadata reader and writerPatrick Walton2011-05-051-3/+4
|
* Bring back "pred" syntax for writing predicates for checkTim Chevalier2011-05-054-12/+31
| | | | | | | | | | 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 constraintsTim Chevalier2011-05-051-0/+14
| | | | | | 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.
* Remove 'deprecated mutable...' from our codeMarijn Haverbeke2011-05-052-2/+2
| | | | This should make compilation a bit less noisy.
* Add #env syntax extension for plucking strings out of the compilation ↵Graydon Hoare2011-05-042-0/+75
| | | | environment.
* Add a structure for passing option flags around the compiler, put it in ↵Graydon Hoare2011-05-041-3/+2
| | | | session, and use it.
* rustc: Stub support for Rust intrinsicsPatrick Walton2011-05-032-0/+3
|
* Revert "Rename the "llvm" API to "llvm-intrinsic"" due to tinderbox bustagePatrick Walton2011-05-031-1/+1
| | | | This reverts commit 6871c245a67fab222eccc2a21dcb620d11d3b0d0.
* Start sketching --depend support in rustc.Graydon Hoare2011-05-032-1/+18
|
* Rename the "llvm" API to "llvm-intrinsic"Patrick Walton2011-05-031-1/+1
|
* Extract ast.is_exported from the resolve moduleBrian Anderson2011-05-021-0/+22
|
* Un-revert "Use different syntax for checks that matter to typestate", fixing ↵Patrick Walton2011-05-025-28/+38
| | | | | | the problem. This reverts commit d08b443fffb1181d8d45ae5d061412f202dd4118.
* Revert "Use different syntax for checks that matter to typestate"Graydon Hoare2011-05-025-38/+28
| | | | This reverts commit aa25f22f197682de3b18fc4c8ba068d1feda220f. It broke stage2, not sure why yet.
* Use different syntax for checks that matter to typestateTim Chevalier2011-05-025-28/+38
| | | | | | | | | | 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.
* Intern metadata while writing, shrink stage1 from 12mb to 5.7mb.Graydon Hoare2011-04-291-16/+49
|
* Support octal #fmt conversionsBrian Anderson2011-04-261-0/+7
|
* rustc: Pass a "type context" around instead of directly passing the type ↵Patrick Walton2011-04-251-45/+43
| | | | store; prep for removing type annotations
* rustc: Thread the type store through everything that needs to access type ↵Patrick Walton2011-04-221-1/+1
| | | | structures
* rustc: Switch @ty.t to ty.t so that we can change it to a uintPatrick Walton2011-04-222-8/+8
|
* rustc: Eliminate the direct use of ty.t.structPatrick Walton2011-04-221-1/+1
|
* Switch to binary search in codemap.lookup_posMarijn Haverbeke2011-04-221-19/+15
| | | | | Patrick observed excessive slowness when looking up positions in rustc. This might help.
* Fix the signature of expr_extBrian Anderson2011-04-213-4/+4
| | | | The extension body is just a string, not an expression.
* rustc: Pass a type store around, which does nothing yetPatrick Walton2011-04-211-43/+45
|
* rustc: Make the parser never assign any types, not even ty_nilPatrick Walton2011-04-211-5/+4
|
* rustc: Remove all manual type construction outside ty.rsPatrick Walton2011-04-201-56/+51
|
* Remove half-baked 'opacity' layer qualifier.Graydon Hoare2011-04-194-27/+0
|
* Remove effect system from src.Graydon Hoare2011-04-196-193/+168
|
* replace error logging with log_err in stdlib and rustcMarijn Haverbeke2011-04-194-33/+30
|
* add log_err to rustcMarijn Haverbeke2011-04-194-3/+13
|
* Support 0 flag in #fmtBrian Anderson2011-04-181-7/+14
|
* collect crate meta info and ext crate namesMarijn Haverbeke2011-04-182-6/+9
|
* Support the space flag in #fmtBrian Anderson2011-04-171-19/+35
|
* Support + flag in #fmtBrian Anderson2011-04-171-3/+27
|
* Support #fmt precision for string typesBrian Anderson2011-04-171-2/+8
|
* Support left-justification in #fmt conversionsBrian Anderson2011-04-161-9/+56
|
* Make #fmt support explicit conversion widthsBrian Anderson2011-04-161-4/+36
|
* Work on destructors, not entirely functional yet (no tydesc integration).Graydon Hoare2011-04-142-4/+22
|
* Add support for upper-case hex and binary output to #fmt.Brian Anderson2011-04-131-0/+3
| | | | Only works for uints at present. Necessitated the addition of _str.to_upper.
* Add more commentary about ExtFmtBrian Anderson2011-04-131-14/+7
|
* Add support for printing uints as lower-case hex to ExtFmt.Brian Anderson2011-04-131-13/+78
| | | | | Begin passing an ExtFmt.RT.conv parsed format description to each of the ExtFmt.RT.conv* functions.
* Move #fmt conversion model into ExtFmt.CT namespaceBrian Anderson2011-04-131-29/+28
|
* Lex numeric escapes, needed for lib-str.rs (which now passes).Graydon Hoare2011-04-131-13/+77
|
* typestate_check can now handle expr_block, expr_if, and expr_binaryTim Chevalier2011-04-122-2/+3
| | | | | | | | | | | | | | | | (caveat for the latter: it assumes that binary operations are strict; a TODO is to detect or and and and correctly reflect that they're lazy in the second argument). I had to add an ann field to ast.block, resulting in the usual boilerplate changes. Test cases that currently work (if you uncomment the typestate pass in the driver) (all these are under test/compile-fail): fru-typestate ret-uninit use-uninit use-uninit-2 use-uninit-3
* rustc: Switch to indices for type parametersPatrick Walton2011-04-123-18/+16
|
* Further work on typestate. Handles expr_rec and expr_assign now.Tim Chevalier2011-04-122-9/+13
| | | | | | | | | | | | Also changed the ts_ann field on statements to be an ann instead, which explains most of the changes. As well, got rid of the "warning: no type for expression" error by filling in annotations for local decls in typeck (not sure whether this was my fault or not). Finally, in bitv, added a clone() function to copy a bit vector, and fixed is_true, is_false, and to_str to not be nonsense.
* Factor out creation of calls into ExtFmt.RTBrian Anderson2011-04-111-12/+12
|