Commit Graph

24562 Commits

Author SHA1 Message Date
Huon Wilson
f97040a93b std::vec: remove unnecessary count parameter on {bytes,
raw}::copy_memory.

Slices carry their length with them, so we can just use that
information.
2013-12-15 22:23:11 +11:00
bors
09bfb3b473 auto merge of #10970 : erickt/rust/master, r=alexcrichton
This modifies the `configure` to set `CFG_ENABLE_CLANG=1` if `gcc` is actually `clang`. This is needed because OS X's clang enables warning on unused command line arguments. Our build system suppresses this by default, but when `CFG_ENABLE_CLANGE=0`, we do not. This causes one of the tests to fail. This patch changes rust to directly use clang, which fixes the build failure.

Closes #10811
2013-12-15 03:06:24 -08:00
bors
386b455b1b auto merge of #10948 : cmr/rust/update_pkgid, r=metajack 2013-12-15 01:01:43 -08:00
bors
7f5787ac26 auto merge of #10932 : alexcrichton/rust/feature-update, r=cmr 2013-12-14 23:02:15 -08:00
Alex Crichton
6747d0738a Handle more cases in the heap lints 2013-12-14 22:56:33 -08:00
Huon Wilson
b0bcbbb154 extra: fix spelling in docs. 2013-12-15 16:34:14 +11:00
Huon Wilson
c126aa5692 std::rt: s/pausible/pausable/. 2013-12-15 16:29:17 +11:00
Huon Wilson
55534100ce std: fix spelling in docs. 2013-12-15 16:26:09 +11:00
bors
8f6df87c1d auto merge of #10968 : MicahChalmer/rust/emacs-proc-keyword, r=metajack 2013-12-14 19:41:42 -08:00
Corey Richardson
b20aa5b77d librustpkg: don't clobber the crate attributes for the pkgid 2013-12-14 19:31:02 -05:00
Erick Tryzelaar
460a966a58 Use clang instead of gcc on OS X 10.9
Apple replaced gcc with clang, but kept around a stub gcc to call
clang. This adds a check in `configure` to detect when gcc is
really clang, and switch to using clang in this situation.

Closes #10811.
2013-12-14 16:11:48 -08:00
Erick Tryzelaar
bea3ec34dd Remove tabs from configure script 2013-12-14 16:11:39 -08:00
Micah Chalmer
d7c949368c Add "proc" as keyword to emacs mode 2013-12-14 18:00:21 -05:00
bors
ca54ad8592 auto merge of #10952 : huonw/rust/1ms-bench, r=cmr
This makes sure we always run benchmarks even if they are predicted to
take a long time, so that we have some non-zero time to display
(although the error bars may be huge for particularly slow benchmarks).

Fixes #9532.
2013-12-14 14:11:21 -08:00
bors
aafed3ece5 auto merge of #10936 : cadencemarseille/rust/issue-10754-std-run-unwrap-on-None, r=alexcrichton
The problem was that std::run::Process::new() was unwrap()ing the result
of std::io::process::Process::new(), which returns None in the case
where the io_error condition is raised to signal failure to start the
process.

Have std::run::Process::new() similarly return an Option\<run::Process\>
to reflect the fact that a subprocess might have failed to start. Update
utility functions run::process_status() and run::process_output() to
return Option\<ProcessExit\> and Option\<ProcessOutput\>, respectively.

Various parts of librustc and librustpkg needed to be updated to reflect
these API changes.

closes #10754
2013-12-14 12:56:22 -08:00
bors
3d3a663d25 auto merge of #10870 : ktt3ja/rust/issue-10865, r=alexcrichton
Fix #10865 and #10939.
2013-12-14 10:41:24 -08:00
Cadence Marseille
5de42701a8 Fix #10754 - std::run functions fail after io_error
The problem was that std::run::Process::new() was unwrap()ing the result
of std::io::process::Process::new(), which returns None in the case
where the io_error condition is raised to signal failure to start the
process.

Have std::run::Process::new() similarly return an Option<run::Process>
to reflect the fact that a subprocess might have failed to start. Update
utility functions run::process_status() and run::process_output() to
return Option<ProcessExit> and Option<ProcessOutput>, respectively.

Various parts of librustc and librustpkg needed to be updated to reflect
these API changes.

closes #10754
2013-12-14 12:50:04 -05:00
bors
f73c9c9bbc auto merge of #10949 : fabricedesre/rust/no-gnustl, r=cmr 2013-12-14 09:26:27 -08:00
bors
53d1a67bbd auto merge of #10944 : metajack/rust/pkgid-docs, r=cmr 2013-12-14 08:11:29 -08:00
bors
7eb50c203b auto merge of #10938 : jhasse/rust/patch-rustpkg, r=alexcrichton
rustpkg assumes library files to be in a directory called `lib`, but on Windows they are instead in the `bin` directory. This patch changes nothing on Unix system, since `libdir()` returns `"lib"` there.
2013-12-14 06:56:28 -08:00
Chris Morgan
b76997f3a9 Rename To{Str,Bytes}Consume traits to Into*.
That is:

- `ToStrConsume` → `IntoStr`;
- `ToBytesConsume` → `IntoBytes`.
2013-12-15 01:04:22 +11:00
bors
b2750bca0c auto merge of #10933 : TeXitoi/rust/shootout-fasta-rewrite, r=alexcrichton
improvements:
 - no managed box
 - no virtual calls
 - no useless copy
 - optimizations (bisect is slower, limit tests, BufferedWriter...)
 - pass shootout test
 - 10 times faster
2013-12-14 05:26:28 -08:00
Chris Morgan
529f915728 Remove {As,Into,To}{Option,Either,Result} traits.
Expanded, that is:

- `AsOption`
- `IntoOption`
- `ToOption`
- `AsEither`
- `IntoEither`
- `ToEither`
- `AsResult`
- `IntoResult`
- `ToResult`

These were defined for each other but never *used* anywhere. They are
all trivial and so removal will have negligible effect upon anyone.
`Either` has fallen out of favour (and its implementation of these
traits of dubious semantics), `Option<T>` → `Result<T, ()>` was never
really useful and `Result<T, E>` → `Option<T>` should now be done with
`Result.ok()` (mirrored with `Result.err()` for even more usefulness).

In summary, there's really no point in any of these remaining.
2013-12-14 23:22:01 +11:00
bors
00b1adf93c auto merge of #10935 : sanxiyn/rust/fk-anon, r=pcwalton 2013-12-14 03:31:41 -08:00
bors
844003683b auto merge of #10931 : sfackler/rust/base64-visibility, r=alexcrichton
These got swept up in the great privatizing of 2013.
2013-12-14 00:56:31 -08:00
Kiet Tran
a67b8863c2 Suppress warnings in run-pass tests 2013-12-14 01:56:51 -05:00
bors
0b1fb89278 auto merge of #10921 : alexcrichton/rust/libuv-upgrade, r=brson
This allows building of libuv for android with a host OS of OSX.
2013-12-13 22:51:30 -08:00
Kiet Tran
71ce559f7d Dead-code pass now marks and warns foreign items 2013-12-14 00:35:41 -05:00
Kiet Tran
d5ad32f388 Check more live Path nodes in dead-code pass 2013-12-14 00:26:15 -05:00
bors
67177ef3e1 auto merge of #10923 : boredomist/rust/export-summary-members, r=alexcrichton
Several of the members of `extra::stats::Summary` were calculated and tested, but not exposed externally. This change exposes all of the members.
2013-12-13 20:01:44 -08:00
bors
64ecb78716 auto merge of #10960 : brson/rust/android, r=alexcrichton 2013-12-13 17:11:34 -08:00
Brian Anderson
0b69bc95c3 Ignore failing Android debug-info tests. #10381 2013-12-13 16:39:22 -08:00
Brian Anderson
df1aa7ecd2 Ignore time tests on android. #10958 2013-12-13 16:39:20 -08:00
bors
09bf5deb68 auto merge of #10918 : eddyb/rust/inline-finally-dtor, r=thestinger
* fixes the vec::from_elem regression caused by #8780
* added 5 benchmarks for allocating a 1KB `~[u8]` and zeroing it
* closes #7136
2013-12-13 15:46:32 -08:00
bors
fbbadae80f auto merge of #10849 : adridu59/rust/patch-css, r=alexcrichton
rustdoc:
- fix search-bar layout

doc: CSS:
- switch to native pandoc toc depth
- rm some dead code
- clamp width to be readable (we're not Wikipedia!)
- don't background-color titles, it's bloating
- make syntax-highlighting colors inline with rust-lang.org
- space indents

@alexcrichton
2013-12-13 14:21:35 -08:00
bors
378897a09c auto merge of #10916 : alexcrichton/rust/nounwind, r=pcwalton
When performing LTO, the rust compiler has an opportunity to completely strip
all landing pads in all dependent libraries. I've modified the LTO pass to
recognize the -Z no-landing-pads option when also running an LTO pass to flag
everything in LLVM as nothrow. I've verified that this prevents any and all
invoke instructions from being emitted.

I believe that this is one of our best options for moving forward with
accomodating use-cases where unwinding doesn't really make sense. This will
allow libraries to be built with landing pads by default but allow usage of them
in contexts where landing pads aren't necessary.
2013-12-13 12:56:36 -08:00
Adrien Tétar
1999b25310 doc: CSS changes + commit improved favicon 2013-12-13 21:50:26 +01:00
bors
ae3078ca25 auto merge of #10913 : cmr/rust/rustdoc_man, r=huonw
Clarify that it's sundown, and that we don't support magic
2013-12-13 11:31:57 -08:00
bors
e5f4904fab auto merge of #10912 : DiamondLovesYou/rust/master, r=alexcrichton 2013-12-13 07:51:42 -08:00
bors
6e0b82e07c auto merge of #10909 : sanxiyn/rust/coherence, r=alexcrichton
Now coherence checking is always done.
2013-12-13 06:26:42 -08:00
bors
d52e1bffe5 auto merge of #10908 : alexcrichton/rust/issue-10907, r=cmr
Turns out that one some platforms the ar/ranlib tool will die with an assertion
if the file being added doesn't actually have any symbols (or if it's just not
an object file presumably).

This functionality is already all exercised on the bots, it just turns out that
the bots don't have an ar tool which dies in this situation, so it's difficult
for me to add a test.

Closes #10907
2013-12-13 05:01:58 -08:00
Huon Wilson
79739d96f7 extra::test: handle slow benchmarks more gracefully.
This makes sure we always run benchmarks even if they are predicted to
take a long time, so that we have some non-zero time to display
(although the error bars may be huge for particularly slow benchmarks).

Fixes #9532.
2013-12-13 23:18:55 +11:00
bors
2ec4712289 auto merge of #10895 : sfackler/rust/io-util, r=alexcrichton
This adds a bunch of useful Reader and Writer implementations. I'm not a
huge fan of the name `util` but I can't think of a better name and I
don't want to make `std::io` any longer than it already is.
2013-12-13 02:56:43 -08:00
bors
9bbef13702 auto merge of #10698 : metajack/rust/dep-info, r=alexcrichton
This isn't super useful for libraries yet without #10593.

Fixes #7633.
2013-12-13 00:32:47 -08:00
Corey Richardson
cecc13a704 librustdoc: use pkgid instead of link meta 2013-12-13 02:13:18 -05:00
Fabrice Desré
57c6281649 Remove dependency on gnustl_shared for android builds 2013-12-12 23:06:59 -08:00
bors
09bb3c0c4b auto merge of #10878 : vadimcn/rust/manifest, r=alexcrichton
In order to avoid UAC installer detection silliness...

Closes #10512
2013-12-12 21:02:03 -08:00
Jack Moffitt
b2ccd4c3ec Add test for --dep-info. 2013-12-12 17:11:02 -07:00
Jack Moffitt
da9a02a189 Update documentation for new pkgid attribute. 2013-12-12 15:22:23 -07:00
Jack Moffitt
9365375c7f Add --dep-info to write Makefile-compatible dependency info.
When --dep-info is given, rustc will write out a `$input_base.d` file in the
output directory that contains Makefile compatible dependency information for
use with tools like make and ninja.
2013-12-12 13:57:47 -07:00