about summary refs log tree commit diff
path: root/src/comp/rustc.rc
AgeCommit message (Collapse)AuthorLines
2011-12-14refactor trans into trans_closure; restore original closure reprNiko Matsakis-0/+1
2011-12-08Add crate_type attributes to rustc, std, coreBrian Anderson-1/+1
2011-11-24rustc: Add a path attribute for crate directivesHaitao Li-1/+2
The path information was an optional "filename" component of crate directive AST. It is now replaced by an attribute with metadata named "path". With this commit, a directive mod foo = "foo.rs"; should be written as: #[path = "foo.rs"] mod foo; Closes issue #906.
2011-11-23Remove last traces of auth keywordMarijn Haverbeke-4/+0
The reference now has an empty hole where the auth keyword used to be. Changing the keyword table seems to require manually sorting the keywords and putting them back into some kind of arcane interleaved order. I'll open an issue to actually fix this. Closes #1211
2011-11-21Add a pass that checks that blocks are only used in safe waysMarijn Haverbeke-0/+1
Closes #1188
2011-11-18Implement a last-use-of-local finding algorithmMarijn Haverbeke-0/+1
Issue #925
2011-11-09middle: Add a pass to reject bad const expressions earlier. Currently just ↵Joshua Wise-0/+1
rejects unimplemented const expressions, but will be needed later.
2011-11-02hack around on makefiles trying to get a 64 bit buildNiko Matsakis-0/+1
right now there are many temporary hacks, search for NDM to find them
2011-11-02start to isolate target strings so that they can be configured forNiko Matsakis-0/+1
x64 or other targets
2011-10-13Rename rustc::middle::unsafeck to fn_usageBrian Anderson-1/+1
I'm going to add further checks unrelated to unsafe. Issue #1038
2011-10-12add pass to check that unsafe fns cannot be used as valuesNiko Matsakis-0/+1
2011-10-05Begin work on rpathBrian Anderson-0/+1
2011-10-04Encapsulate current sysroot and lib path handling into util::filesearchBrian Anderson-0/+1
2011-09-22Move uniq trans code to trans_uniq moduleBrian Anderson-0/+1
Issue #409
2011-09-02Rename ivecs to vecs in the compilerMarijn Haverbeke-1/+1
2011-09-01Make #fmt and #ifmt synonymous. Issue #855Brian Anderson-1/+1
2011-09-01Remove the estr #fmt. Issue #855Brian Anderson-1/+0
2011-09-01Move mutability checking into its own pass.Marijn Haverbeke-0/+1
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-08-30Add #ifmt extension, like #fmt but for istrs. Issue #855Brian Anderson-0/+1
2011-08-26Revert "Add rustc::middle::cstrcache for getting c string bufs safely"Brian Anderson-1/+0
This reverts commit 4e136d1fd9bd5536d441c062d41e7b71b375a942.
2011-08-26Add rustc::middle::cstrcache for getting c string bufs safelyBrian Anderson-0/+1
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-24Move to a more lightweight builder systemMarijn Haverbeke-0/+1
You now do bld::Ret(bcx, someval) where you used to say bcx.build.Ret(someval) Two fewer boxes are allocated for each block context, and build calls no longer go through a vtable.
2011-08-22Move trans::ivec to middle::trans_ivecBrian Anderson-0/+1
2011-08-22Move functions from syntax::ast to syntax::ast_utilBrian Anderson-0/+1
This leaves syntax::ast just defining the AST, which strikes me as somewhat nicer
2011-08-16Remove partial DPS back-endMarijn Haverbeke-2/+0
It won't be finished on the short term, and it's already bit-rotting fast. We can fetch this from git's autumn annals if we need it.
2011-08-16Removed trans_comm.rs from the compiler. Updating aio/sio to work with the ↵Eric Holk-2/+0
new chan and port system, started on a networking module for the standard library.
2011-08-15Add a syntax extension to log syntax, for debugging macros.Paul Stansifer-0/+2
2011-08-11rustc: Associate type descriptors with allocas as metadataPatrick Walton-0/+1
2011-08-09Move object-system-related trans stuff to its own file.Lindsey Kuper-0/+1
2011-08-04rustc: Generate shapesPatrick Walton-0/+1
2011-08-03Add #concat_idents[] and #ident_to_str[]Paul Stansifer-1/+4
2011-07-31Get rid of walk.rsMarijn Haverbeke-1/+0
And we're down to a single AST walker again
2011-07-27Remove vestiges of "layers", insert skeletal do-nothing "kind" pass plus ↵Graydon Hoare-0/+1
cached calculation of kind for each type.
2011-07-25Add a pass that checks for unreachable alt armsMarijn Haverbeke-0/+1
2011-07-19Move collect_upvars into its own file.Michael Sullivan-0/+1
2011-07-18rustc: First stab at implementing interior vector concat in the DPS enginePatrick Walton-0/+1
2011-07-15rustc: Introduce a stub destination-passing-style translation engine, ↵Patrick Walton-0/+1
accessible via the --dps switch for now
2011-07-14refactor: Move the task and communication-related translation functions to a ↵Eric Holk-0/+1
new module.
2011-07-14refactor: Move the LLVM type and constant constructors into a new module.Eric Holk-0/+1
2011-07-13Use switches rather than chained conditionals to compile alt matchesMarijn Haverbeke-0/+1
This also moves the alt-related trans code into its own file. Closes #467
2011-07-11Move macro expansion to a separate phase, change macro syntax, and add ↵Paul Stansifer-0/+1
parse_sess to session.
2011-07-08Don't export tyencode from the metadata moduleBrian Anderson-1/+0
This involves pulling the type_abbrev cache out of crate_ctxt
2011-07-08Begin splitting metadata::decoder into decoding and crate search modulesBrian Anderson-1/+2
2011-07-08Introduce metadata::cstoreBrian Anderson-0/+2
I intend for this to be the location for storing all the data retrieved by creader, most of which is currently in the session.
2011-07-07Refactor a few things in the metadata moduleBrian Anderson-1/+1
Rename metadata::tags to metadata::common. Move some utility functions from metadata::encoder to metadata::common.
2011-07-06Begin adding unit testing infrastructure to the compilerBrian Anderson-0/+1
Add a --test flag and a pass for transforming the AST to generate a test harness. Issue #428
2011-07-06Remove temporary stdlib placeholders, use actual stdlib functionsMarijn Haverbeke-1/+0
(Possible now that a snapshot took place.)
2011-07-05Move everything syntax-related to syntax/, break deps on rest of compilerMarijn Haverbeke-20/+27
src/comp/syntax is currently just a sub-module of rustc, but it will, in the near future, be its own crate. This includes: - The AST data structure - The parser - The pretty-printer - Visit, walk, and fold - The syntax extension system - Some utility stuff that should be in the stdlib* *) Stdlib extensions currently require a snapshot before they can be used, and the win build is very broken right now. This is temporary and will be cleaned up when one of those problems goes away. A lot of code was moved by this patch, mostly towards a more organized layout. Some package paths did get longer, and I guess the new layout will take some getting used to. Sorry about that! Please try not to re-introduce any dependencies in syntax/ on any of the other src/comp/ subdirs.
2011-06-30Add a pass to fold out items that do not belong in the current configurationBrian Anderson-0/+1
The parser needs to parse unconfigured items into the AST so that they can make the round trip back through the pretty printer, but subsequent passes shouldn't care about items not being translated. Running a fold pass after parsing is the lowest-impact way to make this work. The performance seems fine. Issue #489
2011-06-30Move middle::attr to front::attrBrian Anderson-1/+1