about summary refs log tree commit diff
path: root/src/comp
AgeCommit message (Collapse)AuthorLines
2011-11-30Box ast::path valuesMarijn Haverbeke-103/+102
It seems inefficient to copy them around. Let's measure whether that's actually > the case
2011-11-29fix bug in shape concerning size of tag variantNiko Matsakis-7/+16
2011-11-28rustc: Link in libmorestack.a when --stack-growthBrian Anderson-0/+5
2011-11-25rustc: Fall back to intrinsics.ll if we can't parse the bcBrian Anderson-4/+45
This will allow us to transition to the new bitcode format.
2011-11-24rustc: Fix a bug in cdir attribute parsingBrian Anderson-0/+2
The first attribute of the first mod was being applied to every mod.
2011-11-24rustc: Add a path attribute for crate directivesHaitao Li-24/+26
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-24rustc: Accepts `path` attributes for crate directivesHaitao Li-1/+3
Temporarily allow path specified in either as attribute or in AST, like: #[path = "mymod.rs"] mod mymod = "mymod.rs"; This is a transitional commit to avoid creating a stage1 snapshot.
2011-11-24rustc: Fix position of diagnostic highlight linesHaitao Li-1/+1
Diagnostic highlight lines are incorrect placed when the related line number is 10, 100, etc. The root cause is line number are treated as 0 based (should be 1 based) when calculating offset of line number digits.
2011-11-23Add some changes that *should* have been in e98286b594Marijn Haverbeke-4/+5
Forgot to amend the commit after fixing the failure.
2011-11-23Allow import directives in any blockMarijn Haverbeke-82/+102
Closes #49
2011-11-23Make type_kind properly recognize ty_ptr as sendableMarijn Haverbeke-3/+3
2011-11-23Rollback return-by-referenceMarijn Haverbeke-268/+49
It's proving too inflexible, so I'm ripping out the extra complexity in the hope that regions will, at some point, provide something similar. Closes #918
2011-11-23Remove deep scope traversal in revoke_cleanMarijn Haverbeke-8/+2
It is not needed anymore.
2011-11-23Remove last traces of auth keywordMarijn Haverbeke-23/+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-22rustc: Allow trailing comma in record fieldsHaitao Li-30/+50
2011-11-22comp: allowed the declaration of pure fn's in native modsStefan Plantikow-0/+4
This is especially useful for the native calls in std::math This commit does NOT yet point to new snapshots
2011-11-22Add hacks to extract and compile tutorial codeMarijn Haverbeke-10/+0
Not included in the build by default, since it's fragile and kludgy. Do something like this to run it: cd doc/tutorial RUSTC=../../build/stage2/bin/rustc bash test.sh Closes #1143
2011-11-22Properly check for copies when constructing a record using withMarijn Haverbeke-1/+16
Closes #989
2011-11-22Make type_needs_drop accurate, get rid of type_has_pointersMarijn Haverbeke-47/+24
Closes #1209
2011-11-22Fix inconsistency in ordering of patterns during alt compilationMarijn Haverbeke-17/+12
Closes #1153
2011-11-22Only warn about unreachable range patterns when appropriateMarijn Haverbeke-222/+56
Also simplifies the literal-munging, and moves it into ast_util Closes #1170
2011-11-22Make ast::visit only descend into types when necessaryMarijn Haverbeke-7/+15
If visit_ty is not overridden, it uses a stub function which does not descend into types. Closes #1204
2011-11-21rustc: Remove abi from ast::native_modHaitao Li-128/+126
2011-11-21Close hole in safe-reference analysisMarijn Haverbeke-3/+15
2011-11-21Add a pass that checks that blocks are only used in safe waysMarijn Haverbeke-0/+44
Closes #1188
2011-11-21Fix bad interaction between last-use finding and referencesMarijn Haverbeke-15/+32
The last-use pass now takes input from the alias pass to not mark things as last uses that are still accessed through a reference. Issue #925
2011-11-18get pure wrappers approach runningNiko Matsakis-106/+54
2011-11-18sketch out designNiko Matsakis-54/+98
2011-11-18Add some comments to kind.rs and last_use.rsMarijn Haverbeke-0/+33
2011-11-18Make sure by-copy arguments take last-use into accountMarijn Haverbeke-1/+7
2011-11-18Make sure trans translates record fields in the order they appear in codeMarijn Haverbeke-24/+25
This prevents surprising side-effect orders, and makes them easier for the other passes to deal with.
2011-11-18Make trans use last_use info to not actually generate copiesMarijn Haverbeke-25/+48
Issue #925
2011-11-18Update stdlib, compiler, and tests to new kind systemMarijn Haverbeke-63/+57
This involved adding 'copy' to more generics than I hoped, but an experiment with making it implicit showed that that way lies madness -- unless enforced, you will not remember to mark functions that don't copy as not requiring copyable kind. Issue #1177
2011-11-18Implement a last-use-of-local finding algorithmMarijn Haverbeke-4/+231
Issue #925
2011-11-18Properly check kinds in instantiation of genericsMarijn Haverbeke-286/+29
Issue #1177
2011-11-18Prevent alias pass from inserting implicit copies for noncopyable typesMarijn Haverbeke-6/+4
Issue #1177
2011-11-18Overhaul the kind-checking passMarijn Haverbeke-126/+189
Not really useful yet because missing last-use-of-local optimization. Also: instantiation of type parameters needs to be checked. Issue #1177
2011-11-18Make tag, resource and object constructors take their arguments by copyMarijn Haverbeke-40/+18
Doing something like some([1, 2, 3]) will now no longer create a temporary copy of the vector. It will also be easier for the kind checker to see that putting a resource into a data-structure constructor is safe.
2011-11-18Add a pass-by-copy parameter passing conventionMarijn Haverbeke-10/+28
This is intended to solve the problem of how to pass arguments to constructor functions -- you want to move in rvalues, but not have to explicitly copy stuff that is not an rvalue. The by-copy passing convention will ensure the callee gets its own copy of the value. For rvalues, it'll just pass off the value. For lvalues, it'll make a copy. Issue #1177
2011-11-18Preparation for kind system overhaulMarijn Haverbeke-58/+62
This goes before a snapshot, so that subsequenct patches can make the transition without breaking the build. Disables kind checking pass, makes parser accept both new and old-style kind annotation. Issue #1177
2011-11-17remove blank lineNiko Matsakis-1/+0
2011-11-17add FIXME for issue #1184Niko Matsakis-0/+4
2011-11-17fix resource-genericNiko Matsakis-8/+5
2011-11-17Stop using temporary intrinsic_2 functionsBrian Anderson-1/+1
2011-11-17remove compile-command from local variable blocksNiko Matsakis-61/+0
2011-11-17rustc: Add a flag '--warn-unused-imports'Haitao Li-4/+12
Followup of issue #889
2011-11-17rustc: Fix warn on unused import bugHaitao Li-11/+10
rustc generates incorrect warning for cascaded import declarations like: use std; import std::io; import io::println; fn main() { println("hello"); } warning: unused import io A followup of issue #889
2011-11-16remove unused flag (thanks lht)Niko Matsakis-1/+1
2011-11-16Removed --no-typestate flag from rutscStefan Plantikow-9/+3
Fixes issue #1139
2011-11-16rustc: Fix help text for --sysrootBrian Anderson-1/+1