summary refs log tree commit diff
path: root/src/test/run-make
AgeCommit message (Collapse)AuthorLines
2016-09-26Rollup merge of #36574 - japaric:link-arg, r=alexcrichtonJonathan Turner-0/+16
rustc: implement -C link-arg this flag lets you pass a _single_ argument to the linker but can be used _repeatedly_. For example, instead of using: ``` rustc -C link-args='-l bar' (..) ``` you could write ``` rustc -C link-arg='-l' -C link-arg='bar' (..) ``` This new flag can be used with RUSTFLAGS where `-C link-args` has problems with "nested" spaces: ``` RUSTFLAGS='-C link-args="-Tlayout.ld -nostartfiles"' ``` This passes three arguments to rustc: `-C` `link-args="-Tlayout.ld` and `-nostartfiles"` to `rustc`. That's not what we meant. But this does what we want: ``` RUSTFLAGS='-C link-arg=-Tlayout.ld -C link-arg=-nostartfiles` ``` cc rust-lang/rfcs#1509 r? @alexcrichton cc @Zoxc This needs a test. Any suggestion?
2016-09-19add a testJorge Aparicio-0/+16
2016-09-15Adapt run-make/sep-comp-inlining test case to new behaviourMichael Woerister-6/+7
2016-09-13Link test to compiler builtins and make unstableAlex Crichton-2/+4
This commit fixes a test which now needs to explicitly link to the `compiler_builtins` crate as well as makes the `compiler_builtins` crate unstable.
2016-09-11Auto merge of #36344 - sanxiyn:llvm-components, r=alexcrichtonbors-0/+10
Use LLVM_COMPONENTS to run tests just for supported targets This is already done for simd-ffi test, but not for atomic-lock-free test. Fix #35023.
2016-09-09Add s390x supportUlrich Weigand-0/+2
This adds support for building the Rust compiler and standard library for s390x-linux, allowing a full cross-bootstrap sequence to complete. This includes: - Makefile/configure changes to allow native s390x builds - Full Rust compiler support for the s390x C ABI (only the non-vector ABI is supported at this point) - Port of the standard library to s390x - Update the liblibc submodule to a version including s390x support - Testsuite fixes to allow clean "make check" on s390x Caveats: - Resets base cpu to "z10" to bring support in sync with the default behaviour of other compilers on the platforms. (Usually, upstream supports all older processors; a distribution build may then chose to require a more recent base version.) (Also, using zEC12 causes failures in the valgrind tests since valgrind doesn't fully support this CPU yet.) - z13 vector ABI is not yet supported. To ensure compatible code generation, the -vector feature is passed to LLVM. Note that this means that even when compiling for z13, no vector instructions will be used. In the future, support for the vector ABI should be added (this will require common code support for different ABIs that need different data_layout strings on the same platform). - Two test cases are (temporarily) ignored on s390x to allow passing the test suite. The underlying issues still need to be fixed: * debuginfo/simd.rs fails because of incorrect debug information. This seems to be a LLVM bug (also seen with C code). * run-pass/union/union-basic.rs simply seems to be incorrect for all big-endian platforms. Signed-off-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>
2016-09-08Use LLVM_COMPONENTS to run tests just for supported targetsSeo Sanghyeon-0/+10
2016-09-04Auto merge of #36203 - petrochenkov:uvsdot, r=nrcbors-4/+4
Replace `_, _` with `..` in patterns This is how https://github.com/rust-lang/rust/issues/33627 looks in action. Looks especially nice in leftmost/rightmost positions `(first, ..)`/`(.., last)`. I haven't touched libsyntax intentionally because the feature is still unstable.
2016-09-04Replace `_, _` with `..`Vadim Petrochenkov-4/+4
2016-09-01save-analysis: add parent info to api dumpsNick Cameron-0/+1
The parent id is used for constructing rustdoc URLs by clients
2016-08-16Auto merge of #35637 - japaric:no-builtins-lto, r=alexcrichtonbors-0/+34
exclude `#![no_builtins]` crates from LTO this prevents intrinsics like `memcpy` from being mis-optimized to infinite recursive calls when LTO is used. fixes #31544 closes #35540 --- r? @alexcrichton cc @Amanieu
2016-08-15test that a no_builtins crate is passed to the linkerJorge Aparicio-0/+34
2016-08-11Remove the 'cfg' field from session::config::Options.Michael Woerister-2/+2
The 'cfg' in the Options struct is only the commandline-specified subset of the crate configuration and it's almost always wrong to read that instead of the CrateConfig in HIR crate node.
2016-08-11Add the notion of a dependency tracking status to commandline arguments.Michael Woerister-2/+3
Commandline arguments influence whether incremental compilation can use its compilation cache and thus their changes relative to previous compilation sessions need to be taking into account. This commit makes sure that one has to specify for every commandline argument whether it influences incremental compilation or not.
2016-08-07Turn on new errors, json mode. Remove duplicate unicode testJonathan Turner-233/+3
2016-07-29test: Remove the execution-engine testAlex Crichton-303/+0
We don't actually officially support this at all, and the execution engine support in LLVM we've had to gut as it's not compiling on MinGW, so just delete this test for now.
2016-07-28Modify trans to skip generating `.o` filesNiko Matsakis-2/+12
This checks the `previous_work_products` data from the dep-graph and tries to simply copy a `.o` file if possible. We also add new work-products into the dep-graph, and create edges to/from the dep-node for a work-product.
2016-07-27Auto merge of #33363 - japaric:target, r=japaricbors-0/+16
fix built-in target detection previously the logic was accepting wrong triples (like `x86_64_unknown-linux-musl`) as valid ones (like `x86_64-unknown-linux-musl`) if they contained an underscore instead of a dash. fixes #33329 --- r? @brson I wanted to use a compile-fail test at first. But, you can't pass an extra `--target` flag to `rustc` for those because they already call `rustc --target $HOST` so you get a `error: Option 'target' given more than once.`. The run-make test used here works fine though.
2016-07-25add include ../tools.mk to the MakefileJorge Aparicio-0/+2
2016-07-11Avoid passing around the thread-local interner in `librustc_metadata`.Jeffrey Seyfried-6/+3
2016-07-04Added new compilation phase and testWill Crichton-0/+87
2016-07-03Auto merge of #34480 - jseyfried:remove_entry_points, r=nrcbors-2/+3
Remove redundant `CompileController` entry points Remove the `after_expand` and `after_write_deps` `CompileController` entry points. The only things that separate these entry points from `after_hir_lowering` are dep-info generation and HIR map construction, neither of which is computationally intensive or has the potential to error. r? @nrc
2016-07-02fix test falloutAriel Ben-Yehuda-1/+1
2016-07-01Add the `after_expand` entry point between import resolution and the rest of ↵Jeffrey Seyfried-2/+3
name resolution
2016-06-23Address more travis errorsJonathan Turner-2/+5
2016-06-05Enable the overflow-related tests for MIRJames Miller-1/+0
2016-06-04Auto merge of #33622 - arielb1:elaborate-drops, r=nikomatsakisbors-0/+2
[MIR] non-zeroing drop This enables non-zeroing drop through stack flags for MIR. Fixes #30380. Fixes #5016.
2016-06-04fix fallout in testsAriel Ben-Yehuda-0/+2
2016-06-01Remove the `dep-info-no-analysis` test and fix other fallout.Jeffrey Seyfried-32/+3
2016-05-24Move issue-26480 cfail to ui test. Fix #33763Jonathan Turner-21/+44
2016-05-20Auto merge of #33625 - alexcrichton:rustbuild-moar-tests, r=aturonbors-0/+63
rustbuild: Touch up some test suites This adds in some missing test suites, primarily a few pretty suites. It also starts optimizing tests by default as the current test suite does, but also recognizes `--disable-optimize-tests`. Currently the optimization of tests isn't recognized by crate tests because Cargo doesn't support the ability to compile an unoptimized test suite against an optimized library. Perhaps a feature to add, though!
2016-05-20rustc: Fix again order-dependence in extern crateAlex Crichton-0/+63
Originally fixed in #29961 the bug was unfortunately still present in the face of crates using `#[macro_use]`. This commit refactors for the two code paths to share common logic to ensure that they both pick up the same bug fix. Closes #33762
2016-05-20Auto merge of #33553 - alexcrichton:cdylibs, r=brsonbors-0/+77
rustc: Add a new crate type, cdylib This commit is an implementation of [RFC 1510] which adds a new crate type, `cdylib`, to the compiler. This new crate type differs from the existing `dylib` crate type in a few key ways: * No metadata is present in the final artifact * Symbol visibility rules are the same as executables, that is only reachable `extern` functions are visible symbols * LTO is allowed * All libraries are always linked statically This commit is relatively simple by just plubming the compiler with another crate type which takes different branches here and there. The only major change is an implementation of the `Linker::export_symbols` function on Unix which now actually does something. This helps restrict the public symbols from a cdylib on Unix. With this PR a "hello world" `cdylib` is 7.2K while the same `dylib` is 2.4MB, which is some nice size savings! [RFC 1510]: https://github.com/rust-lang/rfcs/pull/1510 Closes #33132
2016-05-19rustc: Add a new crate type, cdylibAlex Crichton-0/+77
This commit is an implementation of [RFC 1510] which adds a new crate type, `cdylib`, to the compiler. This new crate type differs from the existing `dylib` crate type in a few key ways: * No metadata is present in the final artifact * Symbol visibility rules are the same as executables, that is only reachable `extern` functions are visible symbols * LTO is allowed * All libraries are always linked statically This commit is relatively simple by just plubming the compiler with another crate type which takes different branches here and there. The only major change is an implementation of the `Linker::export_symbols` function on Unix which now actually does something. This helps restrict the public symbols from a cdylib on Unix. With this PR a "hello world" `cdylib` is 7.2K while the same `dylib` is 2.4MB, which is some nice size savings! [RFC 1510]: https://github.com/rust-lang/rfcs/pull/1510 Closes #33132
2016-05-18thread the DepGraph to session/crate-storeNiko Matsakis-6/+12
This is a [breaking-change] for plugin authors. You must now create a dep-graph earlier.
2016-05-13Auto merge of #33538 - Ms2ger:LocalCrateReader, r=arielb1bors-7/+6
Refactor code around LocalCrateReader.
2016-05-12Fix the sed invocation to also work with BSD sed.Pavel Sountsov-1/+1
2016-05-11Make LocalCrateReader private to creader.Ms2ger-2/+2
2016-05-11Hand ownership of the Definitions to map_crate.Ms2ger-2/+0
2016-05-10Delay wrapping Definitions into a RefCell around LocalCrateReader.Ms2ger-5/+6
2016-05-10Make the dep-info-no-analysis regex more robust on Windows.Pavel Sountsov-1/+1
2016-05-10Make --emit dep-info work correctly with -Z no-analysis again.Pavel Sountsov-0/+23
Previously, it would attempt to resolve some external crates that weren't necessary for dep-info output. Fixes #33231.
2016-05-10Store a reference rather than a RefCell in LocalCrateReader.Ms2ger-1/+1
2016-05-09Auto merge of #33443 - jseyfried:resolve_ast, r=nrcbors-5/+10
Perform name resolution before and during ast->hir lowering This PR performs name resolution before and during ast->hir lowering instead of in phase 3. r? @nrc
2016-05-09Rollup merge of #33474 - frewsxcv:unwrap-err, r=alexcrichtonManish Goregaokar-1/+1
Utilize `Result::unwrap_err` in more places. None
2016-05-09Utilize `Result::unwrap_err` in more places.Corey Farwell-1/+1
2016-05-09Add test to ensure that atomic types are lock-freeAmanieu d'Antras-0/+92
2016-05-09Fix fallout in `librustdoc` and in testsJeffrey Seyfried-5/+10
2016-05-02Auto merge of #32756 - nikomatsakis:borrowck-snippet, r=nrcbors-28/+0
Overhaul borrowck error messages and compiler error formatting generally This is a major overhaul of how the compiler reports errors. The primary goal is to be able to give many spans within the same overall context, such as this: ``` ./borrow-errors.rs:73:17: 73:20: error: cannot borrow `*vec` as immutable because previous closure requires unique access [E0501] 70 let append = |e| { ~~~ closure construction occurs here 71 vec.push(e) ~~~ previous borrow occurs due to use of `vec` in closure 72 }; 73 let data = &vec[3]; ~~~ borrow occurs here 74 } ~ borrow from closure ends here ``` However, in the process we made a number of other changes: - Removed the repetitive filenames from snippets and just give the line number. - Color the line numbers blue so they "fade away" - Remove the file name and line number from the error code suggestions since they don't seem to fit anymore. (This should probably happen in more places, like existing notes.) - Newlines in between errors to help group them better. This PR is not quite ready to land, but we thought it made sense to stop here and get some feedback from people at large. It'd be great if people can check out the branch and play with it. We'd be especially interested in hearing about cases that don't look good with the new formatting (I suspect they exist). Here is a checklist of some pending work items for this PR. Some of them may be best left for follow-up PRs: - [x] Accommodate multiple files in a `MultiSpan` (this should be easy) - In this case, we want to print filenames though. - [x] Remove duplicate E0500 code. - [x] Make the header message bold, rather than current hack that makes all errors/warnings bold - [x] Update warning text color (yellow is hard to read w/ a white background) Moved numerous follow-ups to: https://github.com/rust-lang/rust/issues/33240 Joint work with @jonathandturner. Fixes https://github.com/rust-lang/rust/issues/3533
2016-05-02fix built-in target detectionJorge Aparicio-0/+14
previously the logic was accepting wrong triples (like `x86_64_unknown-linux-musl`) as valid ones (like `x86_64-unknown-linux-musl`) if they contained an underscore instead of a dash. fixes #33329