Commit Graph

3390 Commits

Author SHA1 Message Date
Patrick Walton
82a09b9a04 librustc: Remove @mut support from the parser 2014-01-03 14:02:01 -08:00
Patrick Walton
88281290ff librustc: Remove @mut support from the typechecker and borrow checker 2014-01-03 14:02:01 -08:00
Patrick Walton
1d29163e9c librustc: Eliminate an unnecessary @mut in pretty printing.
This removes all `@mut` from `librustc` and `libsyntax`.
2014-01-03 14:02:00 -08:00
Patrick Walton
4c85cf7a40 libsyntax: De-@mut CodeMap::files 2014-01-03 14:01:59 -08:00
Patrick Walton
449ebeea08 librustc: De-@mut the AST map 2014-01-03 14:01:58 -08:00
Patrick Walton
497b63ddf0 librustc: De-@mut all writers 2014-01-03 14:01:58 -08:00
Patrick Walton
b26018cc89 librustc: De-@mut (and de-@) the pretty printer 2014-01-03 14:01:58 -08:00
Patrick Walton
4d66af2698 librustc: De-@mut the span handler 2014-01-03 14:01:57 -08:00
Patrick Walton
3aa19a6b86 librustc: De-@mut the parse session 2014-01-03 14:01:56 -08:00
bors
d3ae3a27c4 auto merge of #11264 : am0d/rust/crate_type_lint, r=alexcrichton
This ensures that the `crate_type` attribute always contains a value,
and does not contain an invalid value.

Fixes #11256.
2014-01-03 13:31:58 -08:00
bors
08321f1c49 auto merge of #11149 : alexcrichton/rust/remove-either, r=brson
Had to change some stuff in typeck to bootstrap (getting methods in fmt off of Either), but other than that not so painful.

Closes #9157
2014-01-03 12:16:48 -08:00
Alex Crichton
4bea679dbe Remove std::either 2014-01-03 10:25:23 -08:00
bors
11ce6b709a auto merge of #11276 : brson/rust/0.9, r=pcwalton 2014-01-03 09:56:44 -08:00
bors
a1cb8dc30c auto merge of #11275 : matt-auld/rust/update_readme, r=pcwalton 2014-01-03 08:41:45 -08:00
bors
8d4719047b auto merge of #11262 : alexcrichton/rust/issue-11259, r=pcwalton
Closes #11259
2014-01-03 05:46:47 -08:00
bors
fb46225980 auto merge of #11093 : alexcrichton/rust/issue-11085, r=pcwalton
Closes #11085
2014-01-02 20:06:56 -08:00
Brian Anderson
56ec9c23a4 Bump version to 0.9 2014-01-02 12:55:20 -08:00
bors
0df9b850ac auto merge of #10696 : fhahn/rust/issue9543-remove-extern-mod-foo, r=pcwalton
This patch for  #9543 throws an `obsolete syntax` error for `extern mod foo (name="bar")` . 
I was wondering if [this](https://github.com/fhahn/rust/compare/mozilla:master...fhahn:issue9543-remove-extern-mod-foo?expand=1#diff-da9d34ca1d0f6beee2838cf02e07345cR4444) is the correct place to do this?

I think the wording of the error message could probably be improved as well.

If this approach is OK, I'm going to run the whole test suite tomorrow and update the old syntax to the new one.
2014-01-02 11:32:09 -08:00
bors
3249de8c4f auto merge of #11274 : michaelwoerister/rust/issue11083, r=pcwalton
This pull request fixes #11083. The problem was that recursive type definitions were not properly handled for enum types, leading to problems with LLVM's metadata "uniquing". This bug has already been fixed for struct types some time ago (#9658) but I seem to have forgotten about enums back then. I added the offending code from issue #11083 as a test case.
2014-01-02 09:02:01 -08:00
Florian Hahn
4cb13ed982 Inject std libs with versions 2014-01-02 16:05:09 +01:00
matt-auld
33c7d76208 Update references to rustc.rc in README. 2014-01-02 15:02:41 +00:00
Michael Woerister
6d20876c3f debuginfo: Fix issue #11083 and some minor clean up. 2014-01-02 15:20:43 +01:00
bors
ff578b7c83 auto merge of #11269 : am0d/rust/lint_typo, r=sanxiyn 2014-01-02 03:32:02 -08:00
bors
bbdf645811 auto merge of #11268 : lkuper/rust/trans-comment, r=pcwalton 2014-01-02 02:11:48 -08:00
bors
8ba61514c9 auto merge of #11246 : ktt3ja/rust/issue-11224, r=alexcrichton
Close #11224
2014-01-01 22:12:11 -08:00
bors
a96951048c auto merge of #11245 : alexcrichton/rust/issue-11225, r=pcwalton
Commit messages are a little more descriptive.
2014-01-01 20:56:54 -08:00
a_m0d
65baedfa1f Fix typo in lint description. 2014-01-01 23:50:11 -05:00
Lindsey Kuper
99dbb1d51f Fix comment that's been wrong since ancient times (thanks, @jvns). 2014-01-01 23:02:02 -05:00
bors
1b14a9393a auto merge of #11242 : Dretch/rust/hashmap-key-value-iterators, r=pcwalton 2014-01-01 17:11:57 -08:00
a_m0d
8965e34789 Add linting for crate_type attribute values.
This ensures that the `crate_type` attribute always contains a value,
and does not contain an invalid value.
2014-01-01 19:55:59 -05:00
Florian Hahn
f42a36cded Remove extern mod foo (name="bar") syntax, closes #9543 2014-01-01 23:36:57 +01:00
Alex Crichton
dd33b145f3 Fix usage of rustc --ls on invalid files
Closes #11259
2014-01-01 13:20:00 -08:00
bors
c34ef5d7e4 auto merge of #11255 : klutzy/rust/small-cleanup, r=pcwalton
This patchset removes some `@`s and unnecessary traits,
and replaces a function (`dummy_sp()`) returning constant value
by static variable.
2014-01-01 11:06:51 -08:00
bors
51ace54597 auto merge of #11254 : huonw/rust/impl-names, r=brson
The resulting symbol names aren't very pretty at all:

    trait Trait { fn method(&self); }
    impl<'a> Trait for ~[(&'a int, fn())] { fn method(&self) {} }

gives

    Trait$$UP$$VEC$$TUP_2$$BP$int$$FN$$::method::...hash...::v0.0

However, at least it contain some reference to the Self type, unlike
`Trait$__extensions__::method:...`, which is what the symbol name used
to be for anything other than `impl Trait for foo::bar::Baz` (which
became, and still becomes, `Trait$Baz::method`).
2014-01-01 07:56:49 -08:00
Huon Wilson
8f26d0b9b8 syntax: expand impl_pretty_name to handle more cases.
The resulting symbol names aren't very pretty at all:

    trait Trait { fn method(&self); }
    impl<'a> Trait for ~[(&'a int, fn())] { fn method(&self) {} }

gives

    Trait$$UP$$VEC$$TUP_2$$BP$int$$FN$$::method::...hash...::v0.0

However, at least it contain some reference to the Self type, unlike
`Trait$__extensions__::method:...`, which is what the symbol name used
to be for anything other than `impl Trait for foo::bar::Baz` (which
became, and still becomes, `Trait$Baz::method`).
2014-01-02 02:53:54 +11:00
bors
736f5a8ea8 auto merge of #11247 : eddyb/rust/symbol-cleanup, r=alexcrichton 2014-01-01 02:51:53 -08:00
klutzy
9cdad685a3 syntax::codemap: Add static DUMMY_SP
It replaces `dummy_sp()`.
2014-01-01 19:51:35 +09:00
klutzy
db204b20ab syntax::diagnostic: Remove @ from Emitter 2014-01-01 19:10:43 +09:00
klutzy
fe10c63326 syntax::diagnostic: Remove unnecessary traits
This removes trait `handler` and `span_handler`,
and renames `HandlerT` to `Handler`, `CodemapT` to `SpanHandler`.
2014-01-01 19:10:43 +09:00
klutzy
a52cdfdfce rustc::driver: Remove two @s 2014-01-01 19:10:43 +09:00
bors
03b510297c auto merge of #11215 : alexcrichton/rust/metadata-filename, r=pcwalton
Right now if you have concurrent builds of two libraries in the same directory
(such as rustc's bootstrapping process), it's possible that two libraries will
stomp over each others' metadata, producing corrupt rlibs.

By placing the metadata file in a tempdir we're guranteed to not conflict with
ay other builds happening concurrently. Normally this isn't a problem because
output filenames are scoped to the name of the crate, but metadata is special in
that it has the same name across all crates.
2013-12-31 22:26:55 -08:00
bors
e61937a6bf auto merge of #11187 : alexcrichton/rust/once, r=brson
Rationale can be found in the first commit, but this is basically the same thing as `pthread_once`
2013-12-31 20:41:56 -08:00
Alex Crichton
c22fed9424 Convert relevant static mutexes to Once 2013-12-31 20:15:03 -08:00
Eduard Burtescu
4e752651f4 Truncate symbol hashes to 64 bits. 2014-01-01 01:42:24 +02:00
bors
1dcc986d52 auto merge of #11173 : whitequark/rust/master, r=thestinger
This PR adds `std::unsafe::intrinsics::{volatile_load,volatile_store}`, which map to LLVM's `load volatile` and `store volatile` operations correspondingly.

This would fix #11172.

I have addressed several uncertainties with this PR in the line comments.
2013-12-31 15:06:55 -08:00
bors
bd52e6acc6 auto merge of #11157 : alexcrichton/rust/issue-11154, r=pcwalton
Closes #11154
2013-12-31 13:52:03 -08:00
Kiet Tran
576a85105f Mark provided methods in dead-code pass 2013-12-31 16:19:57 -05:00
Alex Crichton
0daaeab244 Conservatively export all trait methods and impls
The comments have more information as to why this is done, but the basic idea is
that finding an exported trait is actually a fairly difficult problem. The true
answer lies in whether a trait is ever referenced from another exported method,
and right now this kind of analysis doesn't exist, so the conservative answer of
"yes" is always returned to answer whether a trait is exported.

Closes #11224
Closes #11225
2013-12-31 12:42:13 -08:00
Gareth Smith
d435f4f059 Fix issue #11216 - Replace std::hashmap::{each_key, each_value} with iterators. 2013-12-31 20:29:39 +00:00
SiegeLord
cbe8c61fed Add a --no-analysis command line switch 2013-12-31 15:28:08 -05:00
SiegeLord
a7a9e488a4 Generate --dep-info earlier in the compillation. 2013-12-31 15:28:02 -05:00
Alex Crichton
870024a160 Disallow LTO with a preference to dynamic linking
Closes #11154
2013-12-31 11:48:47 -08:00
Peter Zotov
f98f83a15d Implement volatile_load and volatile_store intrinsics. 2013-12-31 02:54:25 +04:00
Vadim Chugunov
856222987d Revert "Embed Windows application manifest." 2013-12-30 13:22:54 -08:00
Alex Crichton
fe30087080 Add metadata from a tempdir instead of a build dir
Right now if you have concurrent builds of two libraries in the same directory
(such as rustc's bootstrapping process), it's possible that two libraries will
stomp over each others' metadata, producing corrupt rlibs.

By placing the metadata file in a tempdir we're guranteed to not conflict with
ay other builds happening concurrently. Normally this isn't a problem because
output filenames are scoped to the name of the crate, but metadata is special in
that it has the same name across all crates.
2013-12-30 08:21:41 -08:00
bors
f37b746699 auto merge of #11182 : luisbg/rust/crateid, r=cmr
Issue #11048
2013-12-30 04:32:09 -08:00
Steven Fackler
dc830345e8 Remove @muts from ExtCtxt 2013-12-29 23:41:09 -08:00
Steven Fackler
3965dddf49 Make ast_fold take &mut self 2013-12-29 23:41:05 -08:00
Luis de Bethencourt
f872c47278 Rename PkgId to CrateId 2013-12-29 15:25:32 -05:00
Luis de Bethencourt
4bc09713df Rename pkgid variables 2013-12-29 15:25:26 -05:00
Steven Fackler
0607c138ca Stop using @ExtCtxt 2013-12-28 21:16:03 -07:00
bors
2922697087 auto merge of #11175 : klutzy/rust/ice, r=alexcrichton
`ln_str` caused ICE if `RUST_LOG=rustc::middle::liveness` is given
due to borrow failure.
2013-12-28 14:12:01 -08:00
klutzy
eaae0ac68a rustc: Fix a borrow failure in .ln_str()
`ln_str` caused ICE if `RUST_LOG=rustc::middle::liveness` is given
due to borrow failure.
2013-12-29 02:47:12 +09:00
Alex Crichton
b6a7463526 Initialize LLVM only once
This also appears to fix a race in LLVM that was causing a deadlock on the bots
during the doc-test tests (where we use rustc in parallel).
2013-12-27 23:39:33 -08:00
Luqman Aden
1265a03139 librustc: Implement coercion for traits. 2013-12-27 03:26:46 -05:00
Patrick Walton
ad160146fd librustc: Fix tidy problem. 2013-12-26 15:54:37 -08:00
Patrick Walton
cc0584731a librustc: De-@mut the def map.
This is the last `@mut` in `librustc` that does not depend on libsyntax.
2013-12-26 15:54:37 -08:00
Patrick Walton
56b9a207ab librustc: De-@mut the value and type ribs in the resolver 2013-12-26 15:54:37 -08:00
Patrick Walton
c48335e334 librustc: De-@mut Module::imports in the resolver 2013-12-26 15:54:37 -08:00
Patrick Walton
47846110a4 librustc: Fully de-@mut trait_impls in the type context 2013-12-26 15:54:37 -08:00
Patrick Walton
fecef74d57 librustc: De-@mut the inherent implementations list 2013-12-26 15:54:37 -08:00
Patrick Walton
ed819c9a81 librustc: De-@mut the crate cache in the crate reader 2013-12-26 15:54:37 -08:00
Patrick Walton
1f76a9ba5e librustc: De-@mut populated_external_traits in the type context 2013-12-26 15:54:37 -08:00
Patrick Walton
f62faa89ed librustc: De-@mut outputs in the session 2013-12-26 15:54:37 -08:00
Patrick Walton
e4815b6c3f librustc: De-@mut the users list in liveness 2013-12-26 15:54:37 -08:00
Patrick Walton
ff23e1202f librustc: De-@mut BindingRscope::anon_bindings 2013-12-26 15:54:36 -08:00
Patrick Walton
d7b152701e librustc: De-@mut building_library in the session 2013-12-26 15:54:36 -08:00
Patrick Walton
c56bac7f40 librustc: De-@mut node_id in the session 2013-12-26 15:54:36 -08:00
Patrick Walton
eaf69494a5 librustc: De-@mut the loop scope in liveness 2013-12-26 15:54:36 -08:00
Patrick Walton
298d0b870f librustc: De-@mut label_ribs in the resolver 2013-12-26 15:54:36 -08:00
Patrick Walton
7f816b7ef4 librustc: De-@mut the idstack in constant checking 2013-12-26 15:54:36 -08:00
Patrick Walton
8c703643ad librustc: De-@mut the reachability worklist 2013-12-26 15:54:36 -08:00
Patrick Walton
4b4ff2cf8b librustc: De-@mut DynamicFailureHandler::finished 2013-12-26 15:54:36 -08:00
Patrick Walton
fc0b466fd4 librustc: De-@mut all_loans in the borrow checker 2013-12-26 15:54:36 -08:00
Patrick Walton
0afae85bc2 librustc: De-@mut inherent_candidates and extension_candidates in
method lookup
2013-12-26 15:54:36 -08:00
Patrick Walton
1a6c1e5d32 librustc: De-@mut Liveness::successors 2013-12-26 15:54:36 -08:00
Patrick Walton
89dfd00dcf librustc: De-@mut next_id in the type context 2013-12-26 15:54:36 -08:00
Patrick Walton
a483ee8e33 librustc: De-@mut the trait map 2013-12-26 15:54:36 -08:00
Patrick Walton
d3fc7b9918 librustc: De-@mut the translation stats 2013-12-26 15:54:36 -08:00
Patrick Walton
9f6706975b librustc: De-@mut fn_stats in the stats 2013-12-26 15:54:36 -08:00
Patrick Walton
e84f79feb1 librustc: De-@mut llvm_insns in the stats 2013-12-26 15:54:35 -08:00
Patrick Walton
8c3a552ac5 librustc: Remove the unused llvm_insn_ctxt from the stats 2013-12-26 15:54:35 -08:00
Patrick Walton
97ceac7377 librustc: De-@mut n_llvm_insns in the stats 2013-12-26 15:54:35 -08:00
Patrick Walton
21e4e410a9 librustc: De-@mut n_closures in the stats 2013-12-26 15:54:35 -08:00
Patrick Walton
c010d08cd5 librustc: De-@mut n_inlines in the stats 2013-12-26 15:54:35 -08:00
Patrick Walton
8c7804ffac librustc: De-@mut n_monos in the stats 2013-12-26 15:54:35 -08:00
Patrick Walton
38572f4981 librustc: De-@mut n_fns in the stats 2013-12-26 15:54:35 -08:00
Patrick Walton
16828bb1dc librustc: De-@mut n_real_glues 2013-12-26 15:54:35 -08:00
Patrick Walton
75efa0725d librustc: De-@mut n_null_glues in the stats 2013-12-26 15:54:35 -08:00
Patrick Walton
26d1394767 librustc: De-@mut n_glues_created in the stats 2013-12-26 15:54:35 -08:00
Patrick Walton
091bfa9cc3 librustc: De-@mut n_static_tydescs in the stats 2013-12-26 15:54:35 -08:00
Patrick Walton
6659ae7d97 librustc: De-@mut Rib::self_binding 2013-12-26 15:54:35 -08:00
Patrick Walton
d1e23aeb0e librustc: De-@mut MoveData 2013-12-26 15:54:35 -08:00
Patrick Walton
1b06a9593f librustc: De-@mut MoveData::assignee_ids 2013-12-26 15:54:35 -08:00
Patrick Walton
111e167f48 librustc: De-@mut MoveData::var_assignments 2013-12-26 15:54:35 -08:00
Patrick Walton
460305749c librustc: De-@mut MoveData::path_assignments 2013-12-26 15:54:34 -08:00
Patrick Walton
7d3e25394f librustc: De-@mut MoveData::path_map 2013-12-26 15:54:34 -08:00
Patrick Walton
1b8391ca12 librustc: De-@mut MoveData::moves 2013-12-26 15:54:34 -08:00
Patrick Walton
1ded423505 librustc: Replace the move method with an accessor in the borrow check
move data
2013-12-26 15:54:34 -08:00
Patrick Walton
12c5c19871 librustc: De-@mut MoveData::paths 2013-12-26 15:54:34 -08:00
Patrick Walton
026364ca26 librustc: Change mut_path into mutators for specific fields in the
borrow check move data
2013-12-26 15:54:34 -08:00
Patrick Walton
fcb47813a4 librustc: Extract first_child and next_sibling from the borrow check
move data into accessors
2013-12-26 15:54:34 -08:00
Patrick Walton
f700cf3872 librustc: Extract first_move from the move data into an accessor 2013-12-26 15:54:34 -08:00
Patrick Walton
f19a9b9600 librustc: Extract parent from move data as an accessor 2013-12-26 15:54:34 -08:00
Patrick Walton
211c6d522b librustc: Extract loan_path from move data into an accessor 2013-12-26 15:54:34 -08:00
Patrick Walton
2ba1b0bc06 librustc: De-@mut populated_external_types in the type context 2013-12-26 15:54:34 -08:00
Patrick Walton
620be9235d librustc: De-@mut the cnum_map 2013-12-26 15:54:34 -08:00
Patrick Walton
5a9c37b7f5 librustc: De-@mut the borrow check stat fields 2013-12-26 15:54:34 -08:00
Patrick Walton
df0c13d2ea librustc: De-@mut the encoding stats 2013-12-26 15:54:34 -08:00
Patrick Walton
75c95e0960 librustc: De-@mut the region maps 2013-12-26 15:54:34 -08:00
Patrick Walton
f759fe15a1 librustc: De-@mut cleanup_scopes in the region maps 2013-12-26 15:54:34 -08:00
Patrick Walton
0c3950d8a8 librustc: De-@mut the free region map in the region maps 2013-12-26 15:54:33 -08:00
Patrick Walton
d5e32729c9 librustc: De-@mut the scope map in the region maps 2013-12-26 15:54:33 -08:00
Patrick Walton
2551344928 librustc: De-@mut all remaining uses of MemWriter 2013-12-26 15:54:33 -08:00
Patrick Walton
b9f0d9bdc1 librustc: De-@mut ImportResolution 2013-12-26 15:54:33 -08:00
Patrick Walton
4b53a2cdd8 librustc: De-@mut ImportResolution::type_id 2013-12-26 15:54:33 -08:00
Patrick Walton
9253df1844 librustc: De-@mut ImportResolution::type_target 2013-12-26 15:54:33 -08:00
Patrick Walton
c10d7177db librustc: De-@mut ImportResolution::value_id 2013-12-26 15:54:33 -08:00
Patrick Walton
5fe84118a6 librustc: De-@mut ImportResolution::value_target 2013-12-26 15:54:33 -08:00
Patrick Walton
aa5b422267 librustc: De-@mut ImportResolution::is_public 2013-12-26 15:54:33 -08:00
Patrick Walton
de6eb2b290 librustc: De-@mut ImportResolution::outstanding_references 2013-12-26 15:54:33 -08:00
Patrick Walton
ccb18f47e2 librustc: De-@mut the used_mut_nodes table in the type context 2013-12-26 15:54:33 -08:00
Patrick Walton
5c63b1febc librustc: De-@mut the entry function and entry type in the session 2013-12-26 15:54:33 -08:00
Patrick Walton
522743c9db librustc: De-@mut the moved variables set 2013-12-26 15:54:33 -08:00
Patrick Walton
7cb234bee9 librustc: De-@mut the test context 2013-12-26 15:54:33 -08:00
Patrick Walton
d0dfc35fc9 librustc: De-@mut TestCtxt::testfns 2013-12-26 15:54:33 -08:00
Patrick Walton
9ff65b503f librustc: De-@mut TestCtxt::path 2013-12-26 15:54:32 -08:00
Patrick Walton
a5d9762972 librustc: De-@mut impl_dups in method checking 2013-12-26 15:54:32 -08:00
Patrick Walton
d9c87c7a23 librustc: De-@mut the moves map 2013-12-26 15:54:32 -08:00
Patrick Walton
f7393d8658 librustc: De-@mut the method map 2013-12-26 15:54:32 -08:00
Patrick Walton
b9568cdf36 librustc: De-@mut creader::Env 2013-12-26 15:54:32 -08:00
Patrick Walton
07279011b8 librustc: De-@mut the type descriptor info 2013-12-26 15:54:32 -08:00
Patrick Walton
e9b9c828b1 librustc: De-@mut the various glues in the type descriptor info 2013-12-26 15:54:32 -08:00
Patrick Walton
abbee6decd librustc: De-@mut ScopeInfo 2013-12-26 15:54:32 -08:00
Patrick Walton
8728b09e78 librustc: De-@mut ScopeInfo::landing_pad 2013-12-26 15:54:32 -08:00
Patrick Walton
7acaa73377 librustc: De-@mut ScopeInfo::cleanup_paths 2013-12-26 15:54:32 -08:00
Patrick Walton
89a85e45c5 librustc: De-@mut ScopeInfo::cleanups 2013-12-26 15:54:32 -08:00
Patrick Walton
3b1a7b5ca9 librustc: Remove the unused reported table from the loan checking pass 2013-12-26 15:54:32 -08:00
Patrick Walton
19ca9e1884 librustc: De-@mut Module::children 2013-12-26 15:54:32 -08:00
Patrick Walton
f857398bc9 librustc: De-@mut the bindings list in pattern resolution 2013-12-26 15:54:32 -08:00