summary refs log tree commit diff
path: root/src/comp/middle/shape.rs
AgeCommit message (Collapse)AuthorLines
2012-01-19rustc: ";" to "," in enumsPatrick Walton-1/+1
2012-01-19rustc: "tag" -> "enum"Patrick Walton-11/+11
2012-01-19treat fn*() as fn&()Niko Matsakis-1/+2
This is not my ideal way of going about things. I'd prefer not to have expressions typed as fn*(), for example, but I couldn't get that to work together with inferring the modes of arguments and other corner cases.
2012-01-19Remove support for the '.' after a nullary tag in a patternTim Chevalier-9/+9
(Commit also includes lots of changes to remove '.'s that a git merge messed up, or else it was monkeys.)
2012-01-18Remove '.' after nullary tags in patternsTim Chevalier-26/+26
Does what it says on the tin. The next commit will remove support for this syntax.
2012-01-18remove align_mode and rewrite GEP_tup_like to align correctlyNiko Matsakis-2/+2
Although the old version of GEP_tup_like was incorrect in some cases, I do not believe we ever used it in an incorrect fashion. In particular, it could go wrong with extended index sequences like [0, 1, 3], but as near as I can tell we only ever use it with short sequences like [0, i].
2012-01-17encode variant names and have log print them out.Niko Matsakis-1/+13
2012-01-13Obj system? What obj system?Marijn Haverbeke-23/+16
Removes the obj system from the compiler. Closes #1484
2012-01-12free uniq data we encounter on the sweep, walk thru them otherwiseNiko Matsakis-5/+29
2012-01-12Make driver::session::session no longer an objectMarijn Haverbeke-3/+3
Rather, it is now a struct where properties like opts are accessed directly, and the error-reporting methods are part of a static impl (with the same name as the type).
2012-01-08First barely-working version of casting to ifaceMarijn Haverbeke-0/+2
Issue #1437
2012-01-06rejigger impl to have an opaque closure ptr rather thanNiko Matsakis-3/+3
opaque closure
2012-01-02Box arrays of parameter boundsMarijn Haverbeke-1/+1
2011-12-28Change representation of type params to handle interface boundsMarijn Haverbeke-1/+1
Issue #1227
2011-12-23Use the same type of record in ty::ty_fn and ty::methodMarijn Haverbeke-1/+1
Removes some more code duplication.
2011-12-16extend with ty_send_type and ty_opaque_closureNiko Matsakis-1/+1
2011-12-15rustc: Box the vectors returned from ty::tag_variantsBrian Anderson-11/+11
2011-12-15massive refactor of how closures workNiko Matsakis-13/+10
2011-12-13Copy first batch of material from libstd to libcore.Graydon Hoare-2/+2
2011-12-07Change literal representation to not truncateMarijn Haverbeke-66/+16
Also shuffles around the organization of numeric literals and types, separating by int/uint/float instead of machine-vs-non-machine types. This simplifies some code. Closes #974 Closes #1252
2011-11-29fix bug in shape concerning size of tag variantNiko Matsakis-2/+7
2011-11-21rustc: Remove abi from ast::native_modHaitao Li-1/+1
2011-11-16fix bug in shape where s_int/s_uint were not customized to platformNiko Matsakis-8/+25
2011-11-10Cleanup unused importsHaitao Li-5/+3
2011-10-12reimplement some of the unsafe stuff which got lostNiko Matsakis-3/+3
- blocks inherit unsafety - remove the --check-unsafe flag - add unsafe annotations where needed to get things to compile
2011-10-12continue to annotate trans functions as unsafe where neccessaryNiko Matsakis-3/+3
2011-09-22rustc: Write raw type parameters instead of linearized type parameters in ↵Patrick Walton-21/+29
object body shapes
2011-09-22Convert ty::ty_uniq to contain a mutable typeBrian Anderson-2/+2
Issue #409
2011-09-13Add missing cases for machine floats in shape.rsMarijn Haverbeke-3/+2
2011-09-12Factor imports mindlessly.Graydon Hoare-20/+7
2011-09-12Pretty-print for new arg-mode syntaxMarijn Haverbeke-5/+13
2011-09-12Reformat for new mode syntax, step 1Marijn Haverbeke-19/+29
Long lines were fixed in a very crude way, as I'll be following up with another reformat in a bit.
2011-09-02Rename ty_istr to ty_str. Issue #855Brian Anderson-1/+1
2011-09-02Reformat. Issue #855Brian Anderson-20/+32
2011-09-02Add a constraint to trans::type_ofTim Chevalier-0/+9
trans::type_of now has a constraint saying that its type argument is statically sized. This eliminates the "impossible happened" case in type_of. Yay! I note that this change decreased translation time for stage2/rustc from 16.1 s to 14.0 s. I also think many of the remaining checks could be eliminated with some mildly clever use of constrained types and further preconditions. Future work!
2011-09-02rustc: Make the shape-emitting code aware of linearized type parametersPatrick Walton-15/+43
2011-09-02Rename ivecs to vecs in the compilerMarijn Haverbeke-3/+3
2011-09-02Remove remaining evec support from transMarijn Haverbeke-1/+1
2011-09-01Remove lots of estr code from rustc. Issue #855Brian Anderson-3/+0
2011-09-01Rename std::istr to std::str. Issue #855Brian Anderson-3/+3
2011-09-01Remove std::str. Issue #855Brian Anderson-1/+0
2011-08-30rt: Fix logging of type-parametric resourcesPatrick Walton-5/+1
2011-08-29Implement non-internal ivecsMarijn Haverbeke-10/+0
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-27Convert the rest of rustc::middle to istrs. Issue #855Brian Anderson-4/+4
2011-08-27Convert middle::trans_common to istrs. Issue #855Brian Anderson-1/+1
2011-08-27Convert rustc::lib::llvm to istr::sbufs. Issue #855Brian Anderson-6/+7
2011-08-22Encode the istr shape correctly. Issue #855Brian Anderson-2/+7
2011-08-22Move functions from syntax::ast to syntax::ast_utilBrian Anderson-1/+1
This leaves syntax::ast just defining the AST, which strikes me as somewhat nicer
2011-08-20rustc: Introduce ABI versioning so we can change value representations ↵Patrick Walton-6/+11
without breaking the compiler
2011-08-20ReformatBrian Anderson-193/+206
This changes the indexing syntax from .() to [], the vector syntax from ~[] to [] and the extension syntax from #fmt() to #fmt[]