about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2013-09-20Add a new Digest.result_bytes convenience function.Gareth Smith-14/+16
2013-09-18auto merge of #9296 : alexcrichton/rust/snapshots, r=cmrbors-1663/+32
huzzah!
2013-09-18Register new snapshotsAlex Crichton-1663/+32
2013-09-18auto merge of #9277 : crabtw/rust/mips, r=brsonbors-27/+140
This patch fixes some errors of MIPS target, however, MIPS C ABI is still broken. I will send another PR to fix the problem. Because MIPS target has no "generic" CPU name, I add --target-cpu and --target-feature to RUST_FLAGS. In order to workaround the "compact frame descriptions incompatible with DWARF2 .eh_frame" problem, the linker I used is CXX but not CC.
2013-09-18auto merge of #9275 : blake2-ppc/rust/float-from-str, r=thestingerbors-216/+190
std: Remove {float,f64,f32}::from_str in favor of from_str in the prelude Like issue #9209, remove float::{from_str, from_str_radix} in favor of the two corresponding traits. The same for modules f64 and f32. New usage is: from_str::<float>("1.2e34")
2013-09-18auto merge of #9272 : luqmana/rust/esln, r=catamorphismbors-1/+1
Fixes #9270
2013-09-18auto merge of #9271 : brson/rust/extra-help, r=catamorphismbors-1/+1
Look like this now ``` -Z FLAG Set internal debugging options -v --version Print version info and exit Additional help: -W help Print 'lint' options and default settings -Z help Print internal options for debugging rustc ```
2013-09-18auto merge of #9264 : ben0x539/rust/pp-work, r=alexcrichtonbors-10/+21
Since 3b6314c the pretty printer seems to only print trait bounds for `ast::ty_path(...)`s that have a generics arguments list. That seems wrong, so let's always print them. Closes #9253, un-xfails test for #7673.
2013-09-18auto merge of #9254 : vadimcn/rust/fix-mingw-v4, r=brsonbors-0/+40
Fix Rust build on mingw v4.0 See #9246 for details.
2013-09-18auto merge of #9248 : DanRosenwasser/rust/master, r=alexcrichtonbors-0/+46
Since `
2013-09-17auto merge of #9281 : brson/rust/multistring, r=alexcrichtonbors-2/+2
When `count` is `Some` this function was reading a byte past the end of the buffer.
2013-09-17std: Fix an invalid read in from_c_multistringBrian Anderson-2/+2
When `count` is `Some` this function was reading a byte past the end of the buffer.
2013-09-17Added support for a `\0` escape sequence.Daniel Rosenwasser-0/+46
This commit adds support for `\0` escapes in character and string literals. Since `\0` is equivalent to `\x00`, this is a direct translation to the latter escape sequence. Future builds will be able to compile using `\0` directly. Also updated the grammar specification and added a test for NUL characters.
2013-09-17auto merge of #9133 : dcrewi/rust/bigint-random-range, r=huonwbors-2/+140
2013-09-18fix compilation errors of mips targetJyun-Yan You-27/+140
2013-09-18std: Remove {float,f64,f32}::from_str in favor of from_strblake2-ppc-216/+190
Like issue #9209, remove float::{from_str, from_str_radix} in favor of the two corresponding traits. The same for modules f64 and f32. New usage is from_str::<float>("1.2e34")
2013-09-17Generate random big integers within a rangeDavid Creswick-2/+140
Thanks to @huonw for feedback
2013-09-17librustc: Respect #[link_name] on extern statics. Fixes #9270Luqman Aden-1/+1
2013-09-17Add an extra line before the "Additional Help" in rustc's --help outputBrian Anderson-1/+1
2013-09-17Ignore a test which is blocking a snapshotAlex Crichton-0/+1
@catamorphism says he has a fix coming soon, so I didn't allocate an issue for it. If it festers for more than a few days I'll open something up though.
2013-09-17auto merge of #9257 : alexcrichton/rust/better-address-insignificant, ↵bors-5/+67
r=thestinger If a static is flagged as address_insignificant, then for LLVM to actually perform the relevant optimization it must have an internal linkage type. What this means, though, is that the static will not be available to other crates. Hence, if you have a generic function with an inner static, it will fail to link when built as a library because other crates will attempt to use the inner static externally. This gets around the issue by inlining the static into the metadata. The same relevant optimization is then applied separately in the external crate. What this ends up meaning is that all statics tagged with #[address_insignificant] will appear at most once per crate (by value), but they could appear in multiple crates. This should be the last blocker for using format! ...
2013-09-17pp: also print bounds in paths with no generic paramsBenjamin Herr-9/+20
Since 3b6314c3 the pretty printer seems to only print trait bounds for `ast::ty_path(...)`s that have a generics arguments list. That seems wrong, so let's always print them. Closes #9253, un-xfails test for #7673.
2013-09-17auto merge of #9235 : olsonjeffery/rust/newrt_file_io_1, r=thestingerbors-231/+1444
A quick rundown: - added `file::{readdir, stat, mkdir, rmdir}` - Added access-constrained versions of `FileStream`; `FileReader` and `FileWriter` respectively - big rework in `uv::file` .. most actions are by-val-self methods on `FsRequest`; `FileDescriptor` has gone the way of the dinosaurs - playing nice w/ homing IO (I just copied ecr's work, hehe), etc - added `FileInfo` trait, with an impl for `Path` - wrapper for file-specific actions, with the file path always implied by self's value - has the means to create `FileReader` & `FileWriter` (this isn't exposed in the top-level free function API) - has "safe" wrappers for `stat()` that won't throw in the event of non-existence/error (in this case, I mean `is_file` and `exists`) - actions should fail if done on non-regular-files, as appropriate - added `DirectoryInfo` trait, with an impl for `Path` - pretty much ditto above, but for directories - added `readdir` (!!) to iterate over entries in a dir as a `~[Path]` (this was *brutal* to get working) ...<del>and lots of other stuff</del>not really. Do your worst!
2013-09-17pp: typo in commentBenjamin Herr-1/+1
2013-09-17auto merge of #9256 : thestinger/rust/drop, r=alexcrichtonbors-28/+8
2013-09-17Prevent a rare linkage issue with an xcrate staticAlex Crichton-5/+67
If a static is flagged as address_insignificant, then for LLVM to actually perform the relevant optimization it must have an internal linkage type. What this means, though, is that the static will not be available to other crates. Hence, if you have a generic function with an inner static, it will fail to link when built as a library because other crates will attempt to use the inner static externally. This gets around the issue by inlining the static into the metadata. The same relevant optimization is then applied separately in the external crate. What this ends up meaning is that all statics tagged with #[address_insignificant] will appear at most once per crate (by value), but they could appear in multiple crates. This should be the last blocker for using format! ...
2013-09-17std: fix win32 build issue re: multistring parsingJeff Olson-1/+1
2013-09-17auto merge of #9236 : steveklabnik/rust/rustpkg_init, r=catamorphismbors-1/+24
Closes #9045 Built on top of #9235, which isn't strictly needed for now, but I imagine I will use part of. Unsure. I mostly wanted to start this off to get some feedback from @catamorphism and others. These are the directories that actually need made, but I was thinking about adding a few other things: 1. an `examples` directory, since it seems like that's a common pattern 2. a `.gitignore` file that ignores `build`. And anything else that makes sense 3. a sample module that'd actually compile Feedback?
2013-09-17Implementing 'rustpkg init'.Steve Klabnik-1/+24
This will initialize a new workspace.
2013-09-17std: whitespace clean up io::file docsJeff Olson-52/+52
2013-09-17remove unnecessary transmutesDaniel Micay-28/+8
2013-09-17auto merge of #9245 : kballard/rust/bytes-span, r=catamorphismbors-10/+10
This constrains the span to the appropriate argument, so you know which one caused the problem. Instead of foo.rs:2:4: 2:21 error: Too large integer literal in bytes! foo.rs:2 bytes!(1, 256, 2) ^~~~~~~~~~~~~~~~~ it will say foo.rs:2:14 2:17 error: Too large integer literal in bytes! foo.rs:2 bytes!(1, 256, 2) ^~~
2013-09-17std: fix win32 build error in os::env()Jeff Olson-1/+1
2013-09-17std: remove RtioStreamJeff Olson-5/+0
2013-09-17auto merge of #9244 : thestinger/rust/drop, r=catamorphismbors-201/+190
This doesn't close any bugs as the goal is to convert the parameter to by-value, but this is a step towards being able to make guarantees about `&T` pointers (where T is Freeze) to LLVM.
2013-09-17auto merge of #9241 : alexcrichton/rust/build-rustdoc-ng, r=catamorphismbors-70/+31
Now rustdoc_ng will be built as both a binary and a library (using the same rules as all the other binaries that rust has). Furthermore, this will also start building rustdoc_ng unit tests (and running them). Note that some `rustdoc_ng` tests were removed, but @cmr says they weren't supposed to be there in the first place. The rustdoc_ng code should also be included in `make install` and `make dist` now.
2013-09-17auto merge of #9225 : huonw/rust/closing-time, r=alexcrichtonbors-0/+166
Closes #2074. Closes #5008. Closes #7519. Closes #7673. Closes #7770. Closes #8171.
2013-09-17Disabled tests which now fail on Windows+mingw4.0 due to GCC 4.8 ABI change ↵Vadim Chugunov-0/+6
(#9205). These really should have been marked xfail-win32, but that doesn't exist, so xfail-fast it is.
2013-09-17The purpose of these headers is to fix issues with mingw v4.0, as described ↵Vadim Chugunov-0/+34
in #9246. This works by adding this directory to GCC include search path before mingw system headers directories, so we can intercept their inclusions and add missing definitions without having to modify files in mingw/include.
2013-09-17Tests for fixed issues.Huon Wilson-0/+166
Closes #2074. Closes #5008. Closes #7519. Closes #7673. Closes #7770. Closes #8171.
2013-09-16auto merge of #9130 : alexcrichton/rust/inline-globals, r=thestingerbors-59/+157
In #8185 cross-crate condition handlers were fixed by ensuring that globals didn't start appearing in different crates with different addressed. An unfortunate side effect of that pull request is that constants weren't inlined across crates (uint::bits is unknown to everything but libstd). This commit fixes this inlining by using the `available_eternally` linkage provided by LLVM. It partially reverts #8185, and then adds support for this linkage type. The main caveat is that not all statics could be inlined into other crates. Before this patch, all statics were considered "inlineable items", but an unfortunate side effect of how we deal with `&static` and `&[static]` means that these two cases cannot be inlined across crates. The translation of constants was modified to propogate this condition of whether a constant should be considered inlineable into other crates. Closes #9036
2013-09-16std: merge conflict cleanup from std::strJeff Olson-1/+0
2013-09-16std: docstring fixes in io::fileJeff Olson-239/+259
2013-09-16std: minor cleanup in some io_error descs in io::fileJeff Olson-2/+2
2013-09-16std: lots of docs for std::rt::io::fileJeff Olson-52/+298
i hope they don't bitrot
2013-09-16std: FsRequest.req_boilerplate() be &mut selfJeff Olson-17/+58
2013-09-16std: remove impl'd/commented-out fstat signaturesJeff Olson-4/+0
2013-09-16std: generlize & move io::file::suppressed_stat to io::ignore_io_errorJeff Olson-19/+19
2013-09-16std: correctly pass STDOUT in to naive_print test fnJeff Olson-1/+1
2013-09-16std: unignore some file io tests that work on windows, nowJeff Olson-6/+0