about summary refs log tree commit diff
path: root/src/comp
AgeCommit message (Collapse)AuthorLines
2011-09-02rustc: Zero out unique pointers after we drop themPatrick Walton-1/+7
2011-09-02Remove rustc::syntax::untyped_ast. Dead codeBrian Anderson-816/+0
2011-09-02Eliminate const_refcount. Issue #855Brian Anderson-22/+6
2011-09-02rustc: Root values spilled via do_spill()Patrick Walton-42/+76
2011-09-02rustc: Make the shape-emitting code aware of linearized type parametersPatrick Walton-16/+44
2011-09-02Rename ivecs to vecs in the compilerMarijn Haverbeke-124/+85
2011-09-02Remove remaining evec support from transMarijn Haverbeke-141/+8
2011-09-01Remove lots of estr code from rustc. Issue #855Brian Anderson-130/+32
2011-09-01Remove #ifmt. Issue #855Brian Anderson-2/+0
2011-09-01Convert all uses of #ifmt to #fmt. Issue #855Brian Anderson-104/+104
2011-09-01Make #fmt and #ifmt synonymous. Issue #855Brian Anderson-14/+16
2011-09-01Use #env to get the rustc version again. Issue #855Brian Anderson-3/+1
2011-09-01Add a constraint in transTim Chevalier-9/+31
Experimenting with adding typestate constraints in the compiler. Added a constraint to GEP_tag that says the variant index is in bounds. Added necessary checks.
2011-09-01Rename std::istr to std::str. Issue #855Brian Anderson-381/+381
2011-09-01Parse "",str as istrs. Pretty print istrs as "",str. Issue #855Brian Anderson-12/+5
2011-09-01Make GEP_tag take a uint instead of an intTim Chevalier-9/+9
Seems to make more sense and avoids the need for some casts.
2011-09-01Remove std::str. Issue #855Brian Anderson-34/+1
2011-09-01No, not all fn constraints have the same args as the fn does, in the same ↵Tim Chevalier-4/+18
order... derp! Closes #862
2011-09-01Remove misleading outdated comment in alias.rsMarijn Haverbeke-5/+1
2011-09-01Back out copy-glueMarijn Haverbeke-86/+3
This wasn't a good idea after all.
2011-09-01Remove the last use of istr::to_estr from rustc. Issue #855Brian Anderson-5/+5
2011-09-01Allow istrs as patterns. Issue #855Brian Anderson-5/+25
2011-09-01Convert main functions to istrs. Issue #855Brian Anderson-2/+1
2011-09-01Remove various istr conversions. Issue #855Brian Anderson-21/+20
2011-09-01Convert std::test to istrs. Issue #855Brian Anderson-2/+2
2011-09-01Remove the estr #fmt. Issue #855Brian Anderson-366/+0
2011-09-01Make alias analysis properly recognize closures in call positionMarijn Haverbeke-1/+1
I figured this'd break a few things, but in fact it causes no problems whatsoever.
2011-09-01Make resolve recognize upvarsMarijn Haverbeke-253/+219
Upvars are now marked with def_upvar throughout, not just when going through freevars::lookup_def. This makes things less error-prone. One thing to watch out for is that def_upvar is used in `for each` bodies too, when they refer to a local outside the body.
2011-09-01Move mutability checking into its own pass.Marijn Haverbeke-285/+287
Having it in the alias pass was slightly more efficient (finding expression roots has to be done in both passes), but further muddled up the already complex alias checker. Also factors out some duplication in the mutability-checking code.
2011-09-01Store arg mode and objfield mutability in their defMarijn Haverbeke-43/+43
2011-09-01Clean up handling of restriction contexts in alias analysisMarijn Haverbeke-93/+94
2011-08-31rt: Make the dynamic stack self-describingPatrick Walton-6/+14
2011-08-31Remove a few more usages of std::str from rustc. Issue #855Brian Anderson-7/+5
2011-08-31Don't check arguments types if there are an incorrect number of args. Closes ↵Michael Sullivan-5/+3
#871.
2011-08-31Check all paths return properly in blocks. Closes #874.Michael Sullivan-1/+1
2011-08-31Get rid of the hack that ignores () typed things in fn tail position.Michael Sullivan-28/+13
Closes #868. Unfortunately, this causes certain invalid programs to fail type-checking instead of failing type-state when a type-state error message would probably be more intuitive. (Although, by any reasonable interpretation of the static semantics, it technically ought to be a type error.)
2011-08-31Convert uses of #fmt to #ifmt. Issue #855Brian Anderson-252/+238
2011-08-30Allow main to take istrs. Issue #855Brian Anderson-6/+36
2011-08-30Convert #env to istrs. Temporarily disable usage in rustc. Issue #855Brian Anderson-2/+4
2011-08-30Support istrs as fail argument. Issue #855Brian Anderson-6/+24
2011-08-30Add #ifmt extension, like #fmt but for istrs. Issue #855Brian Anderson-0/+365
2011-08-30Remove the %S istr conversion from #fmtBrian Anderson-2/+0
I want to do the #fmt transition a different way. Issue #855
2011-08-30rustc: Hoist derived tydesc GC roots up to the top of the function so the GC ↵Patrick Walton-4/+7
doesn't try to access uninitialized tydescs
2011-08-30Typecheck function preconditionsTim Chevalier-50/+107
It turned out that function preconditions weren't getting checked at all, so you could write a constraint on a fn decl that was total nonsense. Fixed now.
2011-08-30Eliminate an unchecked use of map::get in ppauxTim Chevalier-1/+5
2011-08-30rt: Fix logging of type-parametric resourcesPatrick Walton-5/+1
2011-08-30Stop relying on klunky hack in alias.rsMarijn Haverbeke-25/+38
It assumed node_ids increased monotonically for locals, but macros make this no longer the case, and it was a dubious assumption anyway. It now numbers locals itself and uses that to determine which precede which.
2011-08-30Clean up trans_build, factor repeated code into functionMarijn Haverbeke-282/+105
2011-08-30Change a number of result-returning functions to return @block_ctxtMarijn Haverbeke-234/+187
The uniformity doesn't seem to be worth the extra noise and pointless code being generated. If something doesn't produce a value, don't make it return one. (For now, trans_[exprtype] things are left in the result- returning form, even when they never return anything useful, since in that case uniformity is arguably helpful.)
2011-08-30Remove compiler-bug-workaround that's no longer neededMarijn Haverbeke-14/+4