Commit Graph

25175 Commits

Author SHA1 Message Date
Alan Andrade eeafee4c9b Convert sub tutorials into Guides #10838
Ensure configure creates doc/guides directory

Fix configure makefile and tests

Remove old guides dir and configure option, convert testing to guide

Remove ignored files

Fix submodule issue

prepend dir in makefile so that bor knows how to build the docs

S to uppercase
2014-01-05 22:48:19 -06:00
bors 4bca7fdf9b auto merge of #11313 : alexcrichton/rust/fix-native-failure, r=pcwalton 2014-01-05 11:36:46 -08:00
bors 1d9e66c0eb auto merge of #11304 : alexcrichton/rust/eintr, r=brson
Closes #11214
2014-01-05 10:16:44 -08:00
Alex Crichton eadfe0e3c9 Don't abort the process in native::start
If the main closure failed, then the `exit_code` variable would still be `None`,
and the `unwrap()` was failing (triggering a process abort). This changes the
`unwrap()` to an `unwrap_or()` in order to prevent process abort and detect when
the native task failed.
2014-01-05 09:20:31 -08:00
Alex Crichton 674d24e2e6 Handle EINTR throughout libnative
Closes #11214
2014-01-05 09:19:40 -08:00
bors 8fc148f991 auto merge of #11323 : sanxiyn/rust/llvm-config, r=alexcrichton
Standard error was not captured, ignoring any errors from llvm-config.
2014-01-05 09:01:59 -08:00
Seo Sanghyeon 8ef0752c77 Do not ignore errors running llvm-config 2014-01-06 00:41:54 +09:00
bors 4eceb0050c auto merge of #11297 : sfackler/rust/de-jank-encoder-2, r=alexcrichton
This is causing maybe_get_doc to fail when called at the top level of
the metadata and doesn't appear to be needed anymore.

A try build succeeded so this should be okay.
2014-01-05 00:01:56 -08:00
bors 20f3ac73c8 auto merge of #11316 : vadimcn/rust/arm-ehabi, r=alexcrichton
Also, more precise unwinder private data size specification.
2014-01-04 22:46:43 -08:00
Steven Fackler 4bc4acd157 Stop padding metadata
This is causing maybe_get_doc to fail when called at the top level of
the metadata and doesn't appear to be needed anymore.
2014-01-04 22:03:23 -08:00
bors 4641287628 auto merge of #11314 : adridu59/rust/patch-license, r=brson
- don't check for an hardcoded copyright claim year, check the 2 surrounding strings instead
- logic: if either the `//` or `#`-style copyright patterns are found, don't invalidate
- cleanup hardcoded content and streamline the few files with different line breaks

r? @brson
2014-01-04 21:31:51 -08:00
bors bf9a9afc7c auto merge of #11310 : Dretch/rust/write_char, r=alexcrichton 2014-01-04 20:16:44 -08:00
bors 57db916e86 auto merge of #11307 : vadimcn/rust/test-adb, r=brson
Fix android device detection when connected to a remote emulator (in this case device name contains ':').
Use $(CFG_ADB) for all adb invocations.
2014-01-04 19:02:03 -08:00
Vadim Chugunov b01b9c9f15 Condition EH ABI on target_arch, not target_os.
More precise unwinder private data size specification.
2014-01-04 17:00:13 -08:00
bors ea4219f6e5 auto merge of #11290 : alexcrichton/rust/testname, r=brson
Closes #11288
Closes #11222
2014-01-04 16:36:46 -08:00
bors 19cff913f3 auto merge of #11188 : brson/rust/noderef, r=brson
This removes the feature where newtype structs can be dereferenced like pointers, and likewise where certain enums can be dereferenced (which I imagine nobody realized still existed). This ad-hoc behavior is to be replaced by a more general overloadable dereference trait in the future.

I've been nursing this patch for two months and think it's about rebased up to master.

@nikomatsakis this makes a bunch of your type checking code noticeably uglier.
2014-01-04 15:21:46 -08:00
Brian Anderson 01af682c64 doc: Fix an inexplicable error in a tutorial example
This code was wrong but apparently worked before removing struct
deref. I don't know why.
2014-01-04 14:44:14 -08:00
Brian Anderson ec69dea6f7 doc: Fix tutorial for struct deref 2014-01-04 14:44:14 -08:00
Brian Anderson 2d8fbba57d rustc: Add error about obsolete struct deref 2014-01-04 14:44:14 -08:00
Brian Anderson 3b1862a82f Don't allow newtype structs to be dereferenced. #6246 2014-01-04 14:44:12 -08:00
bors 55d492364f auto merge of #11284 : huonw/rust/issue-6233, r=alexcrichton
If there is a lot of data in thread-local storage some implementations
of pthreads (e.g. glibc) fail if you don't request a stack large enough
-- by adjusting for the minimum size we guarantee that our stacks are
always large enough. Issue #6233.
2014-01-04 13:56:48 -08:00
Brian Anderson 18cef3fad4 Don't allow single-variant enums to be dereferenced. #6246
I'm not sure if this was even intentional at this point.
2014-01-04 13:17:31 -08:00
Adrien Tétar 24f9a93872 etc: licenseck: don't hardcode a specific year 2014-01-04 21:49:52 +01:00
bors 89907089c2 auto merge of #11301 : vadimcn/rust/fix-android, r=brson
This fixes stack unwinding on targets using ARM EHABI.
closes #11147
2014-01-04 11:56:46 -08:00
bors b432e82515 auto merge of #11306 : alexcrichton/rust/native-bounds, r=pcwalton
This allows inspection of the current task's bounds regardless of what the
underlying task is.

Closes #11293
2014-01-04 10:16:51 -08:00
bors d86cb6a39f auto merge of #11299 : brson/rust/exp10, r=pcwalton
LLVM appears to generate calls to exp10 on ARM and bionic does not define it.

This makes code that links to libextra (which I guess does some exponentiation on the stat module) link correctly.
2014-01-04 09:02:05 -08:00
bors fcca394ffb auto merge of #11295 : sfackler/rust/de-jank-encoder, r=brson 2014-01-04 07:41:51 -08:00
bors 14c24accbc auto merge of #11271 : adridu59/rust/patch-io, r=huonw 2014-01-04 06:26:52 -08:00
Gareth Smith 195b23b34f Restore Writer.write_char, see #10861. 2014-01-04 13:26:03 +00:00
bors 48dc2cbf23 auto merge of #11292 : brson/rust/llvmconfig, r=alexcrichton
In a multi-host build the mklldeps.py tool is getting called before
all the llvm-configs are built. I am not actually sure the cause. I
had convinced myself that DEF_LLVM_RULES needed to be called before
the llvmdeps.rs rule, but now looking at it again I can't see why.

Here's the error: http://buildbot.rust-lang.org/builders/dist2-linux/builds/11/steps/compile/logs/stdio

r? @alexcrichton
2014-01-04 05:11:53 -08:00
Adrien Tétar 95ace50643 std: io: add some code examples
Closes #11232.
2014-01-04 13:07:11 +01:00
Adrien Tétar ba801577b9 doc: un-xfail conditions tutorial 2014-01-04 13:06:54 +01:00
bors 690e464444 auto merge of #11291 : brson/rust/copy-runtime-deps, r=alexcrichton
In copying the license for the third-party bins it is attempting
to delete a directory that doesn't exist.
2014-01-04 03:56:55 -08:00
Vadim Chugunov c78a407115 Fix android device detection when connected to a remote emulator (in this case device name contains ':').
Use $(CFG_ADB) for all adb invocations.
2014-01-04 00:38:24 -08:00
bors 239fb1f6ee auto merge of #11283 : brson/rust/doublefailure, r=alexcrichton
Previously this was an `rtabort!`, indicating a runtime bug. Promote
this to a more intentional abort and print a (slightly) more
informative error message.

Can't test this sense our test suite can't handle an abort exit.

I consider this to close #910, and that we should open another issue about implementing less conservative semantics here.
2014-01-04 00:32:09 -08:00
Alex Crichton dcaf10f8de Add a stack_bounds function to the Runtime trait
This allows inspection of the current task's bounds regardless of what the
underlying task is.

Closes #11293
2014-01-04 00:08:03 -08:00
Vadim Chugunov cefb2c7e45 Fix ARM unwinding. 2014-01-03 23:34:15 -08:00
bors 3dd7c49faf auto merge of #11251 : pcwalton/rust/remove-at-mut, r=pcwalton
r? @nikomatsakis 

for the borrow checker changes. Write guards are now eliminated.
2014-01-03 22:36:53 -08:00
Patrick Walton 8092153634 libsyntax: Fix tests. 2014-01-03 22:22:40 -08:00
Brian Anderson bc78d86985 rt: Define exp10 on Android
LLVM appears to generate calls to exp10 on ARM and bionic does not
define it.
2014-01-03 21:29:40 -08:00
bors 0ff6c12ce9 auto merge of #11280 : c-a/rust/inline_byteswap, r=brson
After writing some benchmarks for ebml::reader::vuint_at() I noticed that LLVM doesn't seem to inline the from_be32 function even though it only does a call to the bswap32 intrinsic in the x86_64 case. Marking the functions with #[inline(always)] fixes that and seems to me a reasonable thing to do. I got the following measurements in my vuint_at() benchmarks:

- Before
test ebml::bench::vuint_at_A_aligned          ... bench:      1075 ns/iter (+/- 58)
test ebml::bench::vuint_at_A_unaligned        ... bench:      1073 ns/iter (+/- 5)
test ebml::bench::vuint_at_D_aligned          ... bench:      1150 ns/iter (+/- 5)
test ebml::bench::vuint_at_D_unaligned        ... bench:      1151 ns/iter (+/- 6)

- Inline from_be32
test ebml::bench::vuint_at_A_aligned          ... bench:       769 ns/iter (+/- 9)
test ebml::bench::vuint_at_A_unaligned        ... bench:       795 ns/iter (+/- 6)
test ebml::bench::vuint_at_D_aligned          ... bench:       758 ns/iter (+/- 8)
test ebml::bench::vuint_at_D_unaligned        ... bench:       759 ns/iter (+/- 8)

- Using vuint_at_slow()
test ebml::bench::vuint_at_A_aligned          ... bench:       646 ns/iter (+/- 7)
test ebml::bench::vuint_at_A_unaligned        ... bench:       645 ns/iter (+/- 3)
test ebml::bench::vuint_at_D_aligned          ... bench:       907 ns/iter (+/- 4)
test ebml::bench::vuint_at_D_unaligned        ... bench:      1085 ns/iter (+/- 16)

As expected inlining from_be32() gave a considerable speedup.
I also tried how the "slow" version fared against the optimized version and noticed that it's
actually a bit faster for small A class integers (using only two bytes) but slower for big D class integers (using four bytes)
2014-01-03 21:21:50 -08:00
bors 8bfd2a84cf auto merge of #11277 : brson/rust/more0.9, r=alexcrichton 2014-01-03 17:16:50 -08:00
Steven Fackler d45b3643b8 Remove a hacky buffer extraction from metadata 2014-01-03 16:31:22 -08:00
Huon Wilson f1b5f59287 std: adjust requested stack size for thread-local storage.
If there is a lot of data in thread-local storage some implementations
of pthreads (e.g. glibc) fail if you don't request a stack large enough
-- by adjusting for the minimum size we guarantee that our stacks are
always large enough. Issue #6233.
2014-01-04 11:07:02 +11:00
Patrick Walton 02c1d2ff52 test: Make all the run-pass tests use `pub fn main` 2014-01-03 15:30:54 -08:00
Brian Anderson b3a334af6a mk: Fix llvmdeps.rs dependencies
In a multi-host build the mklldeps.py tool is getting called before
all the llvm-configs are built. I am not actually sure the cause. I
had convinced myself that DEF_LLVM_RULES needed to be called before
the llvmdeps.rs rule, but now looking at it again I can't see why.
2014-01-03 14:20:46 -08:00
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 9b35ae75d2 doc: Remove all mentions of `@mut` from the documentation. 2014-01-03 14:02:01 -08:00
Patrick Walton c3694d732e test: De-`@mut` the test suite 2014-01-03 14:02:01 -08:00