about summary refs log tree commit diff
path: root/src/compiletest
AgeCommit message (Collapse)AuthorLines
2014-10-07Put slicing syntax behind a feature gate.Nick Cameron-1/+1
[breaking-change] If you are using slicing syntax you will need to add #![feature(slicing_syntax)] to your crate.
2014-10-07Use slice syntax instead of slice_to, etc.Nick Cameron-1/+1
2014-10-06Rename the file permission statics in std::io to be uppercaseP1start-1/+1
For example, this renames `GroupRWX` to `GROUP_RWX`, and deprecates the old name. Code using these statics should be updated accordingly.
2014-10-02Revert "Use slice syntax instead of slice_to, etc."Aaron Turon-1/+1
This reverts commit 40b9f5ded50ac4ce8c9323921ec556ad611af6b7.
2014-10-02Revert "Put slicing syntax behind a feature gate."Aaron Turon-1/+1
This reverts commit 95cfc35607ccf5f02f02de56a35a9ef50fa23a82.
2014-10-02Put slicing syntax behind a feature gate.Nick Cameron-1/+1
[breaking-change] If you are using slicing syntax you will need to add #![feature(slicing_syntax)] to your crate.
2014-10-02Use slice syntax instead of slice_to, etc.Nick Cameron-1/+1
2014-10-01Remove all use of librustuvAaron Turon-10/+0
2014-09-30librustc: Forbid `..` in range patterns.Patrick Walton-1/+1
This breaks code that looks like: match foo { 1..3 => { ... } } Instead, write: match foo { 1...3 => { ... } } Closes #17295. [breaking-change]
2014-09-23Deal with the fallout of string stabilizationAlex Crichton-1/+2
2014-09-21Fix fallout from Vec stabilizationAlex Crichton-29/+30
2014-09-17Add a forbid-output property in cfail testsKeegan McAllister-13/+42
2014-09-16Fallout from renamingAaron Turon-6/+6
2014-09-14auto merge of #17163 : pcwalton/rust/impls-next-to-struct, r=alexcrichtonbors-0/+1
type they provide an implementation for. This breaks code like: mod foo { struct Foo { ... } } impl foo::Foo { ... } Change this code to: mod foo { struct Foo { ... } impl Foo { ... } } Closes #17059. RFC #155. [breaking-change] r? @brson
2014-09-13librustc: Forbid inherent implementations that aren't adjacent to thePatrick Walton-0/+1
type they provide an implementation for. This breaks code like: mod foo { struct Foo { ... } } impl foo::Foo { ... } Change this code to: mod foo { struct Foo { ... } impl Foo { ... } } Additionally, if you used the I/O path extension methods `stat`, `lstat`, `exists`, `is_file`, or `is_dir`, note that these methods have been moved to the the `std::io::fs::PathExtensions` trait. This breaks code like: fn is_it_there() -> bool { Path::new("/foo/bar/baz").exists() } Change this code to: use std::io::fs::PathExtensions; fn is_it_there() -> bool { Path::new("/foo/bar/baz").exists() } Closes #17059. RFC #155. [breaking-change]
2014-09-10Escape backslashes in debugger scripts.Vadim Chugunov-3/+3
2014-09-05run optimization and codegen on worker threadsStuart Pernsteiner-9/+4
Refactor the code in `llvm::back` that invokes LLVM optimization and codegen passes so that it can be called from worker threads. (Previously, it used `&Session` extensively, and `Session` is not `Share`.) The new code can handle multiple compilation units, by compiling each unit to `crate.0.o`, `crate.1.o`, etc., and linking together all the `crate.N.o` files into a single `crate.o` using `ld -r`. The later linking steps can then be run unchanged. The new code preserves the behavior of `--emit`/`-o` when building a single compilation unit. With multiple compilation units, the `--emit=asm/ir/bc` options produce multiple files, so combinations like `--emit=ir -o foo.ll` will not actually produce `foo.ll` (they instead produce several `foo.N.ll` files). The new code supports `-Z lto` only when using a single compilation unit. Compiling with multiple compilation units and `-Z lto` will produce an error. (I can't think of any good reason to do such a thing.) Linking with `-Z lto` against a library that was built as multiple compilation units will also fail, because the rlib does not contain a `crate.bytecode.deflate` file. This could be supported in the future by linking together the `crate.N.bc` files produced when compiling the library into a single `crate.bc`, or by making the LTO code support multiple `crate.N.bytecode.deflate` files.
2014-08-30auto merge of #16322 : michaelwoerister/rust/gdb-pretty, r=alexcrichtonbors-28/+183
Also extends the autotest framework to let a test case choose if pretty printing should be enabled.
2014-08-28Fallout from stabilizing core::optionAaron Turon-5/+5
2014-08-27debuginfo: Improve GDB version handling in compiletest toolMichael Woerister-6/+18
2014-08-27debuginfo: Emit different autotest debugger scripts depending on GDB version.Michael Woerister-29/+110
2014-08-27debuginfo: Add GDB pretty printers for structs and enums.Michael Woerister-1/+2
2014-08-27debuginfo: Allow to activate GDB pretty printers in autotests.Michael Woerister-6/+67
2014-08-23Remove stage0 attributes.Vadim Chugunov-9/+0
2014-08-15auto merge of #16435 : vadimcn/rust/windows, r=pcwaltonbors-11/+21
Using "win32" to mean "Windows" is confusing, especially now, that Rust supports win64 builds. Let's call spade a spade.
2014-08-14auto merge of #16332 : brson/rust/slicestab, r=aturonbors-1/+1
This implements some of the recommendations from https://github.com/rust-lang/meeting-minutes/blob/master/Meeting-API-review-2014-08-06.md. Explanation in commits.
2014-08-13core: Change the argument order on splitn and rsplitn for strs.Brian Anderson-1/+1
This makes it consistent with the same functions for slices, and allows the search closure to be specified last. [breaking-change]
2014-08-13Fix compiletest to use DurationBrian Anderson-1/+2
2014-08-12Replace #[cfg(target_os = "win32")] with #[cfg(target_os = "windows")]Vadim Chugunov-11/+21
2014-08-01Fix misspelled comments.Joseph Crail-3/+3
2014-07-31auto merge of #16073 : mneumann/rust/dragonfly2, r=alexcrichtonbors-0/+3
Not included are two required patches: * LLVM: segmented stack support for DragonFly [1] * jemalloc: simple configure patches [1]: http://reviews.llvm.org/D4705
2014-07-31Fix test suite for DragonFlyMichael Neumann-0/+3
2014-07-29Add pretty=typed test support to compiletest and add a test for fixed size ↵Luqman Aden-1/+28
arrays.
2014-07-23collections: Deprecate shift/unshiftBrian Anderson-1/+1
Use insert/remove instead.
2014-07-17deprecate Vec::getNick Cameron-15/+15
2014-07-16debuginfo: Make sure that only one LLDB test task is run at a time.Michael Woerister-1/+11
Some older versions of LLDB have problems with multiple instances running in parallel. This commit makes sure we don't do that.
2014-07-16debuginfo: Inject 'Rust-mode' LLDB prelude into debuginfo test scripts.Michael Woerister-0/+10
2014-07-15Deprecate `str::from_chars`Adolfo Ochagavía-1/+1
Use `String::from_chars` instead [breaking-change]
2014-07-15Deprecate `str::from_utf8_owned`Adolfo Ochagavía-11/+10
Use `String::from_utf8` instead [breaking-change]
2014-07-10io::process::Command: add fine-grained env builderAaron Turon-17/+20
This commit changes the `io::process::Command` API to provide fine-grained control over the environment: * The `env` method now inserts/updates a key/value pair. * The `env_remove` method removes a key from the environment. * The old `env` method, which sets the entire environment in one shot, is renamed to `env_set_all`. It can be used in conjunction with the finer-grained methods. This renaming is a breaking change. To support these new methods, the internal `env` representation for `Command` has been changed to an optional `HashMap` holding owned `CString`s (to support non-utf8 data). The `HashMap` is only materialized if the environment is updated. The implementation does not try hard to avoid allocation, since the cost of launching a process will dwarf any allocation cost. This patch also adds `PartialOrd`, `Eq`, and `Hash` implementations for `CString`. [breaking-change]
2014-07-08std: Rename the `ToStr` trait to `ToString`, and `to_str` to `to_string`.Richo Healey-3/+3
[breaking-change]
2014-06-28auto merge of #15208 : alexcrichton/rust/snapshots, r=pcwaltonbors-1/+1
This change registers new snapshots, allowing `*T` to be removed from the language. This is a large breaking change, and it is recommended that if compiler errors are seen that any FFI calls are audited to determine whether they should be actually taking `*mut T`.
2014-06-28Rename all raw pointers as necessaryAlex Crichton-1/+1
2014-06-26Remove unnecessary to_string callsPiotr Jawniak-5/+2
This commit removes superfluous to_string calls from various places
2014-06-25compiletest: Remove superfluous to_string callsPiotr Jawniak-95/+77
2014-06-18Deprecate the bytes!() macro.Simon Sapin-2/+2
Replace its usage with byte string literals, except in `bytes!()` tests. Also add a new snapshot, to be able to use the new b"foo" syntax. The src/etc/2014-06-rewrite-bytes-macros.py script automatically rewrites `bytes!()` invocations into byte string literals. Pass it filenames as arguments to generate a diff that you can inspect, or `--apply` followed by filenames to apply the changes in place. Diffs can be piped into `tip` or `pygmentize -l diff` for coloring.
2014-06-16Fix --disable-rpath and testsAlex Crichton-18/+38
This involved a few changes to the local build system: * Makefiles now prefer our own LD_LIBRARY_PATH over the user's LD_LIBRARY_PATH in order to support building rust with rust already installed. * The compiletest program was taught to correctly pass through the aux dir as a component of LD_LIBRARY_PATH in more situations. This change was spliced out of #14832 to consist of just the fixes to running tests without an rpath setting embedded in executables.
2014-06-14Register new snapshotsAlex Crichton-8/+1
2014-06-14getopts: format failure messages with `Show`.Huon Wilson-1/+1
This obsoletes the old `to_err_msg` method. Replace println!("Error: {}", failure.to_err_msg()) let string = failure.to_err_msg(); with println!("Error: {}", failure) let string = failure.to_str(); [breaking-change]
2014-06-09std: Move dynamic_lib from std::unstable to stdBrian Anderson-1/+1
This leaves a deprecated reexport in place temporarily. Closes #1457.