about summary refs log tree commit diff
path: root/src/test/run-make
AgeCommit message (Collapse)AuthorLines
2016-10-06Add testcase for issue-32948ParkHanbum-5/+29
ref : https://github.com/rust-lang/rust/issue/32948
2016-10-02rustc -> $(RUSTC) in rmake testJorge Aparicio-1/+1
2016-10-02add Thumbs to the compilerJorge Aparicio-0/+5
this commit adds 4 new target definitions to the compiler for easier cross compilation to ARM Cortex-M devices. - `thumbv6m-none-eabi` - For the Cortex-M0, Cortex-M0+ and Cortex-M1 - This architecture doesn't have hardware support (instructions) for atomics. Hence, the `Atomic*` structs are not available for this target. - `thumbv7m-none-eabi` - For the Cortex-M3 - `thumbv7em-none-eabi` - For the FPU-less variants of the Cortex-M4 and Cortex-M7 - On this target, all the floating point operations will be lowered software routines (intrinsics) - `thumbv7em-none-eabihf` - For the variants of the Cortex-M4 and Cortex-M7 that do have a FPU. - On this target, all the floating point operations will be lowered to hardware instructions No binary releases of standard crates, like `core`, are planned for these targets because Cargo, in the future, will compile e.g. the `core` crate on the fly as part of the `cargo build` process. In the meantime, you'll have to compile the `core` crate yourself. [Xargo] is the easiest way to do that as in handles the compilation of `core` automatically and can be used just like Cargo: `xargo build --target thumbv6m-none-eabi` is all that's needed. [Xargo]: https://crates.io/crates/xargo
2016-09-28Rollup merge of #36760 - nrc:input2, r=alexcrichtonJonathan Turner-2/+2
Allow supplying an error destination via the compiler driver Allows replacing stderr with a buffer from the client. Also, some refactoring around run_compiler.
2016-09-28Allow supplying an error destination via the compiler driverNick Cameron-2/+2
Allows replacing stderr with a buffer from the client. Also, some refactoring around run_compiler.
2016-09-27rustc: Use a special filename for macros 1.1Alex Crichton-0/+51
This "special filename" is surrounded by `<>` to ensure that `FileMap::is_real_file` returns `false`. This way the "files" parsed here aren't emitted as dep info `.d` files and don't confuse Cargo about non-existent files. Closes #36625
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