about summary refs log tree commit diff
path: root/src/test/run-make-fulldeps
AgeCommit message (Collapse)AuthorLines
2019-04-25Rollup merge of #60038 - michaelwoerister:pgo-updates-2, r=alexcrichtonMazdak Farrokhzad-41/+28
Add codegen test for PGO instrumentation. This PR adds a codegen test that makes sure that LLVM actually generates instrumentation code when we enable PGO instrumentation in `rustc`. The second commit updates a test case to the new commandline option syntax introduced in #59874. Without the fix the test still works, but it confusingly creates a directory called `test.profraw`, which usually is the name of the _file_ where profiling data is collected.
2019-04-24Fix ignore-logic for sanitizer run-make tests.Michael Woerister-9/+6
2019-04-23Auto merge of #60172 - varkor:tidy-double-trailing-newline, r=kennytmbors-7/+0
Disallow double trailing newlines in tidy This wasn't done previously in https://github.com/rust-lang/rust/pull/47064#issuecomment-354533010 as it affected too many files, but I think it's best to fix it now so that the number of files with double trailing newlines doesn't keep increasing. r? kennytm
2019-04-23Auto merge of #60140 - euclio:pulldown-cmark, r=GuillaumeGomezbors-0/+22
upgrade rustdoc's pulldown-cmark to 0.4.1 Fixes #59194.
2019-04-22Remove leading newlinesvarkor-2/+0
2019-04-22Remove double trailing newlinesvarkor-7/+0
2019-04-22upgrade rustdoc's pulldown-cmark to 0.4.1Andy Russell-0/+22
2019-04-18Use new `needs-(profiler|sanitizer)-support` compiletest directive to clean ↵Michael Woerister-30/+20
up some run-make tests.
2019-04-18Prefix PROFILER_SUPPORT and SANITIZER_SUPPORT test env vars with RUSTC_ to ↵Michael Woerister-14/+14
make things clearer.
2019-04-18Update run-make PGO test to new commandline syntax.Michael Woerister-1/+1
2019-04-14Auto merge of #59950 - Centril:rollup-hpmr62i, r=Centrilbors-8/+16
Rollup of 6 pull requests Successful merges: - #59776 (Apply resource-suffix to search-index and source-files scripts as well) - #59784 (Suggest importing macros from the crate root) - #59812 (Exclude profiler-generated symbols from MSVC __imp_-symbol workaround.) - #59874 (Clean up handling of `-Z pgo-gen` commandline option.) - #59890 (Don't generate empty json variables) - #59911 (Revert "compile crates under test w/ -Zemit-stack-sizes") Failed merges: r? @ghost
2019-04-14Rollup merge of #59874 - michaelwoerister:pgo-updates-1, r=cramertjMazdak Farrokhzad-8/+4
Clean up handling of `-Z pgo-gen` commandline option. This PR adapts the `-Z pgo-gen` flag to how Clang and GCC handle the corresponding `-fprofile-generate` flag. In particular, the flag now optionally takes a directory to place the profiling data in and allows to omit the argument (instead of having to pass an empty string).
2019-04-14Rollup merge of #59675 - SimonSapin:stable-alloc, r=alexcrichtonMazdak Farrokhzad-2/+2
Stabilize the `alloc` crate. This implements RFC 2480: * https://github.com/rust-lang/rfcs/pull/2480 * https://github.com/rust-lang/rfcs/blob/master/text/2480-liballoc.md Closes https://github.com/rust-lang/rust/issues/27783
2019-04-12Stabilize the `alloc` crate.Simon Sapin-2/+2
This implements RFC 2480: * https://github.com/rust-lang/rfcs/pull/2480 * https://github.com/rust-lang/rfcs/blob/master/text/2480-liballoc.md Closes https://github.com/rust-lang/rust/issues/27783
2019-04-11Clean up handling of -Zpgo-gen commandline option.Michael Woerister-8/+4
2019-04-09Exclude profiler-generated symbols from MSVC __imp_-symbol workaround.Michael Woerister-0/+12
2019-04-05Add regression test for #59137.Michael Woerister-0/+20
2019-03-28Rollup merge of #59371 - dlrobertson:rename_va_list_copy, r=joshtriplettMazdak Farrokhzad-1/+1
ffi: rename VaList::copy to VaList::with_copy Rename `VaList::copy` to `VaList::with_copy` r? @joshtriplett
2019-03-22ffi: rename VaList::copy to VaList::with_copyDan Robertson-1/+1
Rename `VaList::copy` to `VaList::with_copy`.
2019-03-21Move one test from run-make-fulldeps to uiVadim Petrochenkov-57/+0
2019-03-20Auto merge of #57018 - dcreager:redundant-linker, r=alexcrichtonbors-0/+48
Keep last redundant linker flag, not first When a library (L1) is passed to the linker multiple times, this is sometimes purposeful: there might be several other libraries in the linker command (L2 and L3) that all depend on L1. You'd end up with a (simplified) linker command that looks like: ``` -l2 -l1 -l3 -l1 ``` With the previous behavior, when rustc encountered a redundant library, it would keep the first instance, and remove the later ones, resulting in: ``` -l2 -l1 -l3 ``` This can cause a linker error, because on some platforms (e.g. Linux), the linker will only include symbols from L1 that are needed *at the point it's referenced in the command line*. So if L3 depends on additional symbols from L1, which aren't needed by L2, the linker won't know to include them, and you'll end up with "undefined symbols" errors. A better behavior is to keep the *last* instance of the library: ``` -l2 -l3 -l1 ``` This ensures that all "downstream" libraries have been included in the linker command before the "upstream" library is referenced. Fixes rust-lang#47989
2019-03-19Ignore test on WindowsDouglas Creager-1/+6
2019-03-19Explicitly prefer dynamic linking in test caseDouglas Creager-0/+1
2019-03-16Fix testbjorn3-7/+34
2019-03-15Remove copyright noticesDouglas Creager-42/+1
2019-03-12Move comment describing test caseDouglas Creager-9/+10
2019-03-11Add run-make-fulldeps test caseDouglas Creager-0/+82
2019-03-10Make the rustc driver and interface demand drivenJohn Kåre Alsaker-47/+32
2019-03-07update treat-err-as-bug testEsteban Küber-1/+1
2019-03-02Call clang and llvm-objdump with correct library pathMark Rousskov-6/+6
2019-02-28Introduce rustc_interface and move some methods thereJohn Kåre Alsaker-1/+3
2019-02-27Support defining C compatible variadic functionsDan Robertson-2/+35
Add support for defining C compatible variadic functions in unsafe rust with extern "C".
2019-02-12Stabilize linker-plugin based LTO.Michael Woerister-10/+10
2019-02-11use ignore directives for run-make testsAndy Russell-253/+97
This makes the tests easier to read, and makes it possible to tell which tests aren't being run on the host platform. Fixes #56704.
2019-02-05Do not ICE in codegen given a extern_type staticDan Robertson-0/+30
The layout of a extern_type static is unsized, but may pass the Well-Formed check in typeck. As a result, we cannot assume that a static is sized when generating the `Place` for an r-value.
2019-02-03liballoc: alloc-extern-crates test needs --edition=2018Mazdak Farrokhzad-1/+1
2019-01-31Auto merge of #57514 - michaelwoerister:xlto-tests, r=alexcrichtonbors-0/+69
compiletest: Support opt-in Clang-based run-make tests and use them for testing xLTO. Some cross-language run-make tests need a Clang compiler that matches the LLVM version of `rustc`. Since such a compiler usually isn't available these tests (marked with the `needs-matching-clang` directive) are ignored by default. For some CI jobs we do need these tests to run unconditionally though. In order to support this a `--force-clang-based-tests` flag is added to compiletest. If this flag is specified, `compiletest` will fail if it can't detect an appropriate version of Clang. @rust-lang/infra The PR doesn't yet enable the tests yet. Do you have any recommendation for which jobs to enable them? cc #57438 r? @alexcrichton
2019-01-26Ignore LLVM-dependent run-make tests on WindowsMark Rousskov-1/+20
This should solve the PATH issue, and we don't need to test cross-lang LTO working on all OS-es.
2019-01-26Workaround presence of LLVM library in stage0/libMark Rousskov-11/+12
This commit works around the newly-introduced LLVM shared library. This is needed such that llvm-config run from librustc_llvm's build script can correctly locate it's own LLVM, not the one in stage0/lib. The LLVM build system uses the DT_RUNPATH/RUNPATH header within the llvm-config binary, which we want to use, but because Cargo always adds the host compiler's "libdir" (stage0/lib in our case) to the dynamic linker's search path, we weren't properly finding the freshly-built LLVM in llvm/lib. By restoring the environment variable setting the search path to what bootstrap sees, the problem is resolved and librustc_llvm correctly links and finds the appropriate LLVM. Several run-make-fulldeps tests are also updated with similar handling.
2019-01-17compiletest: Simplify handling of Clang-based tests.Michael Woerister-3/+3
2019-01-17Add an end-to-end run-make test for cross-lang LTO.Michael Woerister-0/+69
2019-01-13remove extern_in_paths.Mazdak Farrokhzad-11/+1
2019-01-06Auto merge of #57286 - alexcrichton:less-thin-2-2, r=nikomatsakisbors-141/+0
bootstrap: Link LLVM as a dylib with ThinLTO (take 2) When building a distributed compiler on Linux where we use ThinLTO to create the LLVM shared object this commit switches the compiler to dynamically linking that LLVM artifact instead of statically linking to LLVM. The primary goal here is to reduce CI compile times, avoiding two+ ThinLTO builds of all of LLVM. By linking dynamically to LLVM we'll reuse the one ThinLTO step done by LLVM's build itself. Lots of discussion about this change can be found [here] and down. A perf run will show whether this is worth it or not! [here]: https://github.com/rust-lang/rust/pull/53245#issuecomment-417015334 --- This PR previously landed in https://github.com/rust-lang/rust/pull/56944, caused https://github.com/rust-lang/rust/issues/57111, and was reverted in https://github.com/rust-lang/rust/pull/57116. I've added one more commit here which should fix the breakage that we saw.
2019-01-03Fix repeated word typosWiktor Kuchta-1/+1
Found with `git grep -P '\b([a-z]+)\s+\1\b'`
2019-01-02Remove no longer working testAlex Crichton-141/+0
2018-12-25Remove licensesMark Rousskov-3650/+8
2018-12-25Revert "Rollup merge of #56944 - alexcrichton:less-thin2, r=michaelwoerister"kennytm-0/+181
This reverts commit f1051b574c26e20608ff26415a3dddd13f140925, reversing changes made to 833e0b3b8a9f1487a61152ca76f7f74a6b32cc0c.
2018-12-24Rollup merge of #56944 - alexcrichton:less-thin2, r=michaelwoeristerMazdak Farrokhzad-181/+0
bootstrap: Link LLVM as a dylib with ThinLTO When building a distributed compiler on Linux where we use ThinLTO to create the LLVM shared object this commit switches the compiler to dynamically linking that LLVM artifact instead of statically linking to LLVM. The primary goal here is to reduce CI compile times, avoiding two+ ThinLTO builds of all of LLVM. By linking dynamically to LLVM we'll reuse the one ThinLTO step done by LLVM's build itself. Lots of discussion about this change can be found [here] and down. A perf run will show whether this is worth it or not! [here]: https://github.com/rust-lang/rust/pull/53245#issuecomment-417015334
2018-12-19Rollup merge of #56947 - hsivonen:neon, r=alexcrichtonPietro Albini-0/+2
Add targets thumbv7neon-linux-androideabi and thumbv7neon-unknown-linux-gnueabihf These two targets enable both thumb-mode and NEON for ARMv7 CPUs. This another attempt at #49902, which cannot be reopened. Between that PR and this one, some subrepos with C code whose build systems were failing went away.
2018-12-18Remove no longer working testAlex Crichton-181/+0