about summary refs log tree commit diff
path: root/src/comp
AgeCommit message (Collapse)AuthorLines
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
2011-08-30Glob-import trans_build in other trans filesMarijn Haverbeke-450/+449
The capitalization already prevents name clashes. Being able to refer to the bitcode-construction primitives directly makes the code cleaner.
2011-08-29Stab-in-the-dark error fix for the crashing windows tinderboxes. Helps win2 ↵Graydon Hoare-2/+4
anyways.
2011-08-29Warn for exports that refer to non-existent itemsMarijn Haverbeke-2/+35
Closes #865
2011-08-29Remove obsolete exportsMarijn Haverbeke-8/+0
2011-08-29Factor vector-allocation code, always allocate space for at least 4 eltsMarijn Haverbeke-24/+35
(This prevents the first few reallocs when growing a vector.)
2011-08-29Convert a block to a fn in trans_ivec::trans_addBrian Anderson-4/+6
The block was not valgrind-clean
2011-08-29Don't duplicate ivec-iterating loop codeMarijn Haverbeke-90/+42
trans_ivec is starting to look almost pleasant
2011-08-29Implement non-internal ivecsMarijn Haverbeke-1076/+309
Vectors are now similar to our old, pre-internal vectors, except that they are uniquely owned, not refcounted. Their name should probably change too, then. I've renamed them to vec in the runtime, will do so throughout the compiler later.
2011-08-29Fix bug in mutable-local-markingMarijn Haverbeke-0/+1
Locals passed by mutable alias weren't being marked as mutated
2011-08-27Convert misc compiler bits to istrs. Issue #855Brian Anderson-91/+93
2011-08-27Convert rustc driver to istrs. Issue #855Brian Anderson-111/+115
2011-08-27Convert rustc::syntax::ext::base to istrs. Issue #855Brian Anderson-82/+87
2011-08-27Convert rustc::driver::session to istrs. Issue #855Brian Anderson-360/+379
2011-08-27Convert rustc::syntax::codemap to istrs. Issue #855Brian Anderson-45/+50
2011-08-27Convert rustc::syntax::ast_util to istrs. Issue #855Brian Anderson-60/+63
2011-08-27Convert pretty-printer to istrs. Issue #855Brian Anderson-365/+387
2011-08-27Convert parser to istrs. Issue #855Brian Anderson-215/+226
2011-08-27Convert rustc::syntax::eval to istrs. Issue #855Brian Anderson-14/+15
2011-08-27Convert rustc::syntax::token to istrs. Issue #855Brian Anderson-75/+79
2011-08-27Convert lexer to istrs. Issue #855Brian Anderson-101/+133
2011-08-27Convert rustc::util to istrs. Issue #855Brian Anderson-199/+221
2011-08-27Convert rustc::metadata to istrs. Issue #855Brian Anderson-119/+133