Commit Graph

26307 Commits

Author SHA1 Message Date
Alex Crichton 804955f79a Upgrade LLVM
Includes an upstream commit by pcwalton to improve codegen of our enums getting
moved around.
2014-02-14 07:22:49 -08:00
bors db8a580fb4 auto merge of #12027 : vadimcn/rust/compiler-rt, r=alexcrichton
This is an attempt to remove some more of Rust's dependencies on libgcc and replace it with LLVM's compiler-rt lib.  I've added compiler-rt as a submodule and changed libstd to link with it.  
As far as I could verify, after this change, the only symbols still imported by std from libgcc are the stack unwinding functions.   Other crates, however, still picked up symbols from libgcc, not from libstd, as I had hoped.  So linking definitely requires some work. 

I've only tested this on windows, 32-bit linux and android and fully expect it to fail on other platforms. Patches are welcome.
2014-02-11 18:21:49 -08:00
bors a4a908eafd auto merge of #11961 : niftynif/rust/btree, r=brson
I implemented an add method for the btree in progress.  It is intended to be refactored later using an alternative to .clone() that passes the borrow checker, but for now, it works as intended. r? @catamorphism
2014-02-11 16:31:48 -08:00
Vadim Chugunov b7651325eb Build compiler-rt and link it to all crates, similarly to morestack. 2014-02-11 15:59:59 -08:00
bors 0ac6e5afda auto merge of #12158 : nikomatsakis/rust/issue-6801-borrowck-closures, r=pcwalton
I factored the commits by affected files, for the most part. The last 7 or 8 contain the meat of the PR. The rest are small changes to closures found in the codebase. Maybe interesting to read to see some of the impact of the rules.

r? @pcwalton

Fixes #6801
2014-02-11 15:06:49 -08:00
Vadim Chugunov 5d12d84f45 Added compiler-rt submodule. 2014-02-11 13:58:25 -08:00
Niko Matsakis 484f0f11e6 Correct nits from @pcwalton 2014-02-11 16:55:25 -05:00
Niko Matsakis c9e3cb678d test -- add new tests specifically examining closure borrows 2014-02-11 16:55:25 -05:00
Niko Matsakis 3805c5416e test -- update tests with new error messages 2014-02-11 16:55:25 -05:00
Niko Matsakis 1bd7b182c5 dataflow -- do not consider the interprocedural case 2014-02-11 16:55:25 -05:00
Niko Matsakis 6b8b751429 borrowck -- treak borrows from closures like other borrows 2014-02-11 16:55:25 -05:00
Niko Matsakis db38192daf mem_categorization -- parameterize over TYPER interface, treat upvar refs as
deref'd borrowed pointers
2014-02-11 16:55:24 -05:00
Niko Matsakis d45dd2754e regionck -- rewrite in terms of mem_categorization, compute upvar borrow kinds 2014-02-11 16:55:24 -05:00
Niko Matsakis b1962a2b2e add upvar_borrow_map to tcx and fcx in typeck 2014-02-11 16:55:24 -05:00
Niko Matsakis 807def022a region -- Improve comments in region.rs 2014-02-11 16:55:24 -05:00
Niko Matsakis 844eab1940 librustuv -- fix unsafe sharing in rustuv 2014-02-11 16:55:24 -05:00
Niko Matsakis 56c5d4cec3 libsyntax -- fix unsafe sharing in closures 2014-02-11 16:55:24 -05:00
Niko Matsakis c7560387af libgetopts -- fix unsafe sharing in closures 2014-02-11 16:55:24 -05:00
Niko Matsakis 7ffa67ce92 front -- collapse iterator actions that require access to the same &mut state 2014-02-11 16:55:24 -05:00
Niko Matsakis ec6d122826 libsyntax -- combine two iter ops into one so that `fld` does not need to be mutably shared between them both 2014-02-11 16:55:24 -05:00
Niko Matsakis e3ca1c2fca str -- borrow fields of self for use in closure since self.iter is borrowed 2014-02-11 16:55:24 -05:00
Niko Matsakis b0ac40a243 sha2 -- introduce locals to clarify which subportions are being borrowed 2014-02-11 16:55:24 -05:00
Niko Matsakis 8dff89c238 librustdoc -- move closure to clarify scope 2014-02-11 16:55:24 -05:00
Niko Matsakis c9c8049cda io -- introduce local to avoid conflicting borrow 2014-02-11 16:55:23 -05:00
Niko Matsakis 42cd820c62 ppaux -- add Repr implementations 2014-02-11 16:55:23 -05:00
Niko Matsakis 95c53c049c back/link -- introduce block to clarify scope of closure 2014-02-11 16:55:23 -05:00
Niko Matsakis 8b760fd844 vec -- introduce local var to make clear what subportion is being borrowed 2014-02-11 16:55:23 -05:00
Niko Matsakis 7ba5bef86e syntax/fold -- remove conflicting (and rather pointless) closures 2014-02-11 16:55:23 -05:00
Niko Matsakis ca65c00ef2 syntax/ext/format -- rewrite conflicting closures into methods 2014-02-11 16:55:23 -05:00
Niko Matsakis b2b4c79b17 resolve -- rewrite conflict closure into method 2014-02-11 16:55:23 -05:00
Niko Matsakis 949e1c7935 metadata -- remove tiny convenience closure that was causing conflicting mutable borrows 2014-02-11 16:55:23 -05:00
Niko Matsakis 7286e35c6b error_reporting -- explain reborrowed upvar constraints in a hopefully useful way 2014-02-11 16:55:23 -05:00
Niko Matsakis 64c9b5c3ae trans/datum -- move mutable variable into closure 2014-02-11 16:55:23 -05:00
Niko Matsakis f7e5d8418c ty -- minor refactorings, helper methods 2014-02-11 16:55:22 -05:00
Niko Matsakis 0e005ab848 to_str -- update to contain scope of closure 2014-02-11 16:55:22 -05:00
Niko Matsakis 0f5baad6ee container -- update example to contain scope of closure borrow 2014-02-11 16:55:22 -05:00
Niko Matsakis 6f571a63a6 libglob -- patch closure where const borrow would have helped 2014-02-11 16:55:22 -05:00
Niko Matsakis 96139bf1d6 remove antiquated reflect test rather than bring it up to date 2014-02-11 16:55:22 -05:00
Niko Matsakis 852a49fd9c std -- replaces uses where const borrows would be required 2014-02-11 16:55:10 -05:00
bors 2ab248af38 auto merge of #12183 : SimonSapin/rust/patch-4, r=alexcrichton 2014-02-11 13:51:41 -08:00
Nif Ward 184367093f Includes new add method that uses .clone() for support.
Added new tests for bsearch methods and changed "add" to "insert"

Fixed failure on div_floor.
2014-02-11 15:59:33 -05:00
bors be3cbcb431 auto merge of #12171 : chromatic/rust/fix_crate_tutorial_typos, r=brson
This commit attempts to clarify a section of the tutorial. It also fixes some typos.
2014-02-11 12:36:51 -08:00
bors 4c967e7041 auto merge of #12110 : fhahn/rust/issue-11363-change-xfail, r=alexcrichton
Patch for #11363
2014-02-11 09:37:18 -08:00
Florian Hahn f62460c1f5 Change `xfail` directives in compiletests to `ignore`, closes #11363 2014-02-11 18:23:20 +01:00
bors 616e53f038 auto merge of #12181 : sanxiyn/rust/accurate-span-4, r=alexcrichton 2014-02-11 08:22:22 -08:00
Simon Sapin de6ed9c0ce Fix broken link to the container guide 2014-02-11 14:38:36 +00:00
bors 5b5ebf230b auto merge of #12177 : alexcrichton/rust/fix-snapshot, r=kballard
This is blocking a snapshot because the stage0 target compiler comes from a
stage1 host compiler. This means that the stage0 compiler doesn't actually
understand the -Z prefer-dynamic flag and is dying as a result.

This will get added back to stage0 after a snapshot.
2014-02-11 05:56:43 -08:00
Seo Sanghyeon f3b5ec2318 Correct span for self and ExprStruct 2014-02-11 22:49:50 +09:00
bors 9e133d113b auto merge of #12176 : kballard/rust/dep-info-lib-filename, r=alexcrichton
Fixes #12174.
2014-02-11 04:41:39 -08:00
bors fd4979ad04 auto merge of #12154 : pnkfelix/rust/fsk-factor-bigint-and-rat-out-of-libextra, r=alexcrichton
Removed use of globs present in earlier versions of modules.

Fix tutorial.md to reflect `extra::rational` ==> `num::rational`.
2014-02-11 03:26:42 -08:00