about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2016-04-12Clarify try! doc exampleSzabolcs Berecz-1/+1
The original is correct, but a bit misleading.
2016-04-09Auto merge of #32786 - brson:cargotest, r=alexcrichtonbors-4/+13
Fix cargotest Tested in dev.
2016-04-09Auto merge of #32781 - michaelwoerister:dont-use-svh-in-debuginfo, ↵bors-8/+10
r=alexcrichton Use crate name/disambiguator instead of SVH for debuginfo typeid.
2016-04-08Auto merge of #32773 - mitaa:rdoc-ttfn-json, r=alexcrichtonbors-158/+31
rustdoc: Remove the json-{input, output} format (for reference #32698) fixes #25108 r? @alexcrichton
2016-04-08Auto merge of #32751 - alexcrichton:dist-docs, r=brsonbors-68/+100
rustbuild: Support cross rust-docs packages Right now if you configure multiple hosts rustbuild will only build documentation for the build triple, but we've got all the support necessary to build documentation for different architectures as well. This commit reinterprets the `target` field of doc `Step` instances to be the target of the documentation rather than the target of the rustdoc/tool being run. This should enable `make dist` to start producing a bunch of `rust-docs` packages for all the cross architectures that rustbuild is producing now.
2016-04-08Auto merge of #32738 - Aatch:mir-operand-fn-ret, r=arielb1bors-60/+220
Handle operand temps for function calls Previously, all non-void function returns required an on-stack location for the value to be stored to. This code improves translation of function calls so this is no longer necessary.
2016-04-08Auto merge of #32695 - sfackler:default-buf-size, r=alexcrichtonbors-1/+1
Drop the default buffer size to 8K The 64k capacity was picked by me a couple of years ago in the initial implementation of buffered IO adaptors: https://github.com/rust-lang/rust/pull/9091/files#diff-b131eeef531ad098b32f49695a031008R62. 64K was picked for symmetry with libuv, which we no longer use. 64K is *way* larger than the default size of any other language that I can find. C, C++, and Java default to 8K, and Go defaults to 4K. There have been a variety of issues filed relating to this such as #31885. Closes #31885
2016-04-08Fix some type-related bugsJames Miller-18/+36
Some types weren't being properly monomorphised, and didn't have their regions properly erased. This is now fixed. Also fixes an issue where a temp was initialized in two separate branches, but wasn't given an alloca.
2016-04-07Fix cargotestBrian Anderson-4/+13
2016-04-07Auto merge of #32800 - Manishearth:rollup, r=Manishearthbors-124/+211
Rollup of 7 pull requests - Successful merges: #32687, #32729, #32731, #32732, #32734, #32737, #32741 - Failed merges:
2016-04-07Rollup merge of #32741 - tbu-:pr_remove_fixme_12808, r=blussManish Goregaokar-86/+74
Remove strange names created by lack of privacy-conscious name lookup The fixed issue that allowed this was #12808.
2016-04-07Rollup merge of #32737 - timonvo:arm-ehabi-backtraces, r=alexcrichtonManish Goregaokar-1/+6
Fix backtraces on ARM EHABI. Before this patch, our `rust_eh_personality_catch` routine would cut backtracing short at the `__rust_try` function, due to it not handling the `_US_FORCE_UNWIND` bit properly, which is passed by libunwind implementations on ARM EHABI. Examples of where the `_US_FORCE_UNWIND` bit is passed to the PR: - GCC's libunwind: https://github.com/gcc-mirror/gcc/blob/f1717362de1e56fe1ffab540289d7d0c6ed48b20/libgcc/unwind-arm-common.inc#L590 - LLVM's libunwind: https://github.com/llvm-mirror/libunwind/blob/61278584b5c84c422ff5da10f46c3235c54636c9/src/UnwindLevel1-gcc-ext.c#L153
2016-04-07Rollup merge of #32734 - tromey:dwarf-5-DW_LANG_Rust, r=michaelwoeristerManish Goregaokar-1/+3
Use DWARF 5 value for DW_LANG_Rust DWARF 5 has assigned a value for `DW_LANG_Rust`. See [the relevant DWARF issue](http://www.dwarfstd.org/ShowIssue.php?issue=140129.1). Although DWARF 5 is not yet released, it seems ok to use this value as both GCC and LLVM are already using other `DW_LANG_` constants assigned in this way.
2016-04-07Rollup merge of #32732 - dotdash:ext_arg, r=eddybManish Goregaokar-21/+102
Handle integer-extending for C ABI We need to supply sext/zext attributes to LLVM to ensure that arguments are extended to the appropriate width in the correct way. Most platforms extend integers less than 32 bits, though not all.
2016-04-07Rollup merge of #32729 - pierzchalski:build_helper_suffix, r=alexcrichtonManish Goregaokar-3/+9
Change build helper to modify suffix The current implementation of [gcc](https://crates.io/crates/gcc) defaults to using the ```CC``` environment variable to determine the compiler. The current global-find-replace in ```build_helper``` causes issues for projects using tools like ```ccache``` if they try to integrate libstd into their build system. Almost all cross-compiler toolchains have the tool name as a suffix of the filename, so changing this to suffix-replacement instead of global-replacement should be fine.
2016-04-07Rollup merge of #32687 - mneumann:dragonfly_fix_libstd, r=alexcrichtonManish Goregaokar-12/+17
Fix libstd on DragonFly Following changes: * birthtime does not exist on DragonFly * errno: __dfly_error is no more. Use #[thread_local] static errno. * clock_gettime expects a c_ulong These changes are required to build DragonFly snapshots again.
2016-04-07Auto merge of #32016 - nikomatsakis:incr-comp-save, r=mwbors-708/+2037
Save/load incremental compilation dep graph Contains the code to serialize/deserialize the dep graph to disk between executions. We also hash the item contents and compare to the new hashes. Also includes a unit test harness. There are definitely some known limitations, such as https://github.com/rust-lang/rust/issues/32014 and https://github.com/rust-lang/rust/issues/32015, but I am leaving those for follow-up work. Note that this PR builds on https://github.com/rust-lang/rust/pull/32007, so the overlapping commits can be excluded from review. r? @michaelwoerister
2016-04-07argh, overlooked two extern cratesNiko Matsakis-0/+2
2016-04-07Rollup merge of #32789 - jseyfried:fix_duplicate_resolve_errors, r=eddybManish Goregaokar-97/+76
resolve: Avoid emitting redundant path resolution errors This PR avoids emitting redundant path resolution errors in `resolve` (fixes #32760). r? @eddyb
2016-04-07Rollup merge of #32757 - taralx:patch-1, r=brsonManish Goregaokar-12/+12
Fix typos in atomic compare_exchange. Failure ordering can't be Release, not (not) Acquire. Seems like a typo copy-pasted all over.
2016-04-07Rollup merge of #32748 - aturon:simplified-spec, r=nikomatsakisManish Goregaokar-70/+162
Reinstate fast_reject for overlap checking The initial implementation of specialization did not use the `fast_reject` mechanism when checking for overlap, which caused a serious performance regression in some cases. This commit modifies the specialization graph to use simplified types for fast rejection when possible, and along the way refactors the logic for building the specialization graph. Closes #32499 r? @nikomatsakis
2016-04-07Rollup merge of #32745 - Amanieu:arc_fix, r=alexcrichtonManish Goregaokar-0/+1
Fix infinite loop in Arc::downgrade
2016-04-07Rollup merge of #32699 - bluss:slice-memcmp, r=alexcrichtonManish Goregaokar-44/+179
Specialize equality for [T] and comparison for [u8] to use memcmp when possible Specialize equality for [T] and comparison for [u8] to use memcmp when possible Where T is a type that can be compared for equality bytewise, we can use memcmp. We can also use memcmp for PartialOrd, Ord for [u8]. Use specialization to call memcmp in PartialEq for slices for certain element types. This PR does not change the user visible API since the implementation uses an intermediate trait. See commit messages for more information. The memcmp signature was changed from `*const i8` to `*const u8` which is in line with how the memcmp function is defined in C (taking const void * arguments, interpreting the values as unsigned bytes for purposes of the comparison).
2016-04-07Rollup merge of #32674 - jseyfried:1422_groundwork, r=nikomatsakisManish Goregaokar-298/+385
Lay groundwork for RFC 1422 and improve `PrivateItemsInPublicInterfacesVisitor` This PR lays groundwork for RFC 1422 (cc #32409) and improves `PrivateItemsInPublicInterfacesVisitor`. More specifically, it - Refactors away `hir::Visibility::inherit_from`, the semantics of which are obsolete. - Makes `hir::Visibility` non-`Copy` so that we will be able to add new variants to represent `pub(restricted)` (for example, `Visibility::Restricted(Path)`). - Adds a new `Copy` type `ty::Visibility` that represents a visibility value, i.e. a characterization of where an item is accessible. This is able to represent `pub(restricted)` visibilities. - Improves `PrivateItemsInPublicInterfacesVisitor` so that it checks for items in an interface that are less visible than the interface. This fixes #30079 but doesn't change any other behavior. r? @nikomatsakis
2016-04-07Auto merge of #32583 - arielb1:need-a-bound, r=nikomatsakisbors-523/+656
Suggest adding a where-clause when that can help Suggest adding a where-clause when there is an unmet trait-bound that can be satisfied if some type can implement it. r? @nikomatsakis
2016-04-07Fix libstd on DragonFlyMichael Neumann-12/+17
Following changes: * birthtime does not exist on DragonFly * errno: __dfly_error is no more. Use #[thread_local] static errno. * clock_gettime expects a c_ulong (use a type alias) These changes are required to build DragonFly snapshots again.
2016-04-07test the substs ppaux code both with and without -Z verboseAriel Ben-Yehuda-48/+63
2016-04-07Auto merge of #32649 - Amanieu:intrinsic_monomorphization_assert, r=eddybbors-3/+47
Fix LLVM assert when handling bad intrinsic monomorphizations Passing an invalid type to certain intrinsics would trigger an LLVM assert even though the invalid type was caught by the compiler. r? @eddyb
2016-04-07Fix tidy errorsJeffrey Seyfried-2/+4
2016-04-07Fix fallout in testsJeffrey Seyfried-31/+7
2016-04-07Add test for #30079Jeffrey Seyfried-0/+55
2016-04-07Improve `PrivateItemsInPublicInterfacesVisitor`Jeffrey Seyfried-85/+109
2016-04-07Use the node id from the `Restricted` variant when checking accessibilityJeffrey Seyfried-42/+34
in `typeck` and in `privacy::PrivacyVisitor`.
2016-04-07Make `hir::Visibility` non-copyable and add `ty::Visibility`Jeffrey Seyfried-165/+200
2016-04-07Refactor away `hir::Visibility::inherit_from`Jeffrey Seyfried-26/+7
2016-04-07Remove rustdocs json formatmitaa-158/+31
2016-04-07Improve path resolution diagnosticsJeffrey Seyfried-66/+67
2016-04-06remove incorrect dependency on librustc_frontNiko Matsakis-1/+0
2016-04-06Auto merge of #32230 - GuillaumeGomez:extend_css, r=alexcrichtonbors-123/+196
Add --extend-css option to rustdoc Fixes #32223 r? @brson
2016-04-06Use crate name/disambiguator instead of SVH for debuginfo typeid.Michael Woerister-8/+10
2016-04-06Fix test cases to reflect that #32014...went awayNiko Matsakis-4/+3
Not sure what was the bug. Fixes #32014.
2016-04-06Rollup merge of #32774 - tbu-:pr_doc_tuple_copy, r=brsonSteve Klabnik-2/+4
Add `Copy` to the traits that are automatically implemented for tuples
2016-04-06Rollup merge of #32766 - nikomatsakis:constant-pattern-warning-cycle, r=eddybSteve Klabnik-1/+1
change constant patterns to have a warning cycle This was the original intention :( r? @eddyb
2016-04-06Rollup merge of #32761 - tshepang:assert, r=steveklabnikSteve Klabnik-12/+12
avoid "==" in assert! when one of the values is a bool Is suspect this is something of an idiom
2016-04-06Rollup merge of #32744 - GuillaumeGomez:patch-3, r=steveklabnikSteve Klabnik-0/+12
Add example doc for ToOwned trait Fixes #29342. r? @steveklabnik
2016-04-06Rollup merge of #32727 - matklad:fix-comment, r=alexcrichtonSteve Klabnik-6/+6
minor: update old comments No more lifetimes in function types after https://github.com/rust-lang/rust/commit/f945190e6352a1bc965a117569532643319b400f
2016-04-06Rollup merge of #32724 - sanxiyn:outdated-comment, r=dotdashSteve Klabnik-20/+5
Remove outdated comment The corresponding code was removed in #31824. Also remove code duplication and rename the function.
2016-04-06Rollup merge of #32691 - frewsxcv:patch-28, r=alexcrichtonSteve Klabnik-1/+1
Indicate `None` is code-like in doc comment.
2016-04-06Rollup merge of #32679 - tclfs:patch-1, r=steveklabnikSteve Klabnik-3/+1
Remove error description of `move` (1) `x` can be used in main() after the call to spawn(). Because the variables follow normal move semantics, though the keyword `move` is used, and i32 implements `Copy`. (2) I remove this sentence because the previous sentence gives the referrence to `move closures`, and more description of `move` may be redundant.
2016-04-06Rollup merge of #32668 - frewsxcv:hashmap-address-fixme, r=alexcrichtonSteve Klabnik-8/+4
Address FIXMEs related to short lifetimes in `HashMap`. None