about summary refs log tree commit diff
path: root/src/comp/middle
AgeCommit message (Collapse)AuthorLines
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-96/+95
2011-08-30Allow main to take istrs. Issue #855Brian Anderson-6/+36
2011-08-30Support istrs as fail argument. Issue #855Brian Anderson-6/+24
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-30rt: Fix logging of type-parametric resourcesPatrick Walton-5/+1
2011-08-30Stop relying on klunky hack in alias.rsMarijn Haverbeke-24/+37
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-1043/+299
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-30/+31
2011-08-27Convert rustc::driver::session to istrs. Issue #855Brian Anderson-305/+313
2011-08-27Convert rustc::syntax::ast_util to istrs. Issue #855Brian Anderson-8/+10
2011-08-27Convert pretty-printer to istrs. Issue #855Brian Anderson-21/+26
2011-08-27Convert parser to istrs. Issue #855Brian Anderson-1/+1
2011-08-27Convert rustc::util to istrs. Issue #855Brian Anderson-120/+132
2011-08-27Convert rustc::metadata to istrs. Issue #855Brian Anderson-7/+8
2011-08-27Convert the rest of rustc::middle to istrs. Issue #855Brian Anderson-123/+130
2011-08-27Convert rustc::middle::trans to istrs. Issue #855Brian Anderson-225/+231
2011-08-27Convert rest of the AST to istrs. Issue #855Brian Anderson-4/+6
2011-08-27Convert local_ctxt to istrs. Issue #855Brian Anderson-27/+28
2011-08-27Convert crate_ctxt to istrs. Issue #855Brian Anderson-10/+10
2011-08-27Convert middle::trans_common to istrs. Issue #855Brian Anderson-41/+44
2011-08-27Convert the rest of rustc::lib::llvm to istrs. Issue #855Brian Anderson-12/+12
2011-08-27Convert rustc::lib::llvm to istr::sbufs. Issue #855Brian Anderson-191/+388
2011-08-27Convert the rest of rustc::back to istrs. Issue #855Brian Anderson-8/+15
2011-08-27Convert back::link to istrs. Issue #855Brian Anderson-55/+84
2011-08-27Remove ast::identistr. Issue #855Brian Anderson-4/+4
2011-08-27Convert ast::ident to istr. Issue #855Brian Anderson-102/+132
2011-08-27Convert std::map::new_str_hash to istrs. Issue #855Brian Anderson-46/+57
2011-08-27Convert portions of rustc to istrs. Recover a lot of performance.Brian Anderson-2/+3
Issue #855
2011-08-27Convert std::int to istrs. Issue #855Brian Anderson-15/+31
2011-08-27Convert std::uint to istrs. Issue #855Brian Anderson-23/+35
2011-08-26rt: Allow closures to be loggedPatrick Walton-2/+6
2011-08-26Fix invalid reads of cstrs in transBrian Anderson-5/+6
2011-08-26Revert "Use cstrcache in C_str, C_cstr, C_shape."Brian Anderson-14/+7
This reverts commit d5173b1f2cc174d53272be0d14a8290c05b8670a.
2011-08-26Revert "Add rustc::middle::cstrcache for getting c string bufs safely"Brian Anderson-29/+0
This reverts commit 4e136d1fd9bd5536d441c062d41e7b71b375a942.
2011-08-26Use cstrcache in C_str, C_cstr, C_shape.Brian Anderson-7/+14
This fixes up the current leaks.
2011-08-26Add rustc::middle::cstrcache for getting c string bufs safelyBrian Anderson-0/+29
We continue to leak string buffers in trans so this creates a way to get c string buffers from strings while guaranteeing that they are not freed before use. Hopefully this can be made efficient in the istr regime.
2011-08-26Revert "Revert "Use typestate constraints for trans_be""Tim Chevalier-4/+11
This reverts commit b0db13956f4f106c4bf5a9210c7df439b34506a4. (Should work now that we have a new snapshot)