about summary refs log tree commit diff
path: root/src/test/run-make-fulldeps
AgeCommit message (Collapse)AuthorLines
2018-09-07stabilize `#[panic_handler]`Jorge Aparicio-2/+0
2018-09-06crates that provide a `panic_handler` are exempt from `unused_extern_crates`Jorge Aparicio-0/+33
fixes the *first* false positive reported in #53964
2018-09-05Allow for opting out of ThinLTO and clean up LTO related cli flag handling.Michael Woerister-4/+28
2018-08-31Fix tests for json formattingCharlie Andrews-2/+2
2018-08-28Fix warnings about the `native` target-cpuAlex Crichton-2/+17
This fixes a regression from #53031 where specifying `-C target-cpu=native` is printing a lot of warnings from LLVM about `native` being an unknown CPU. It turns out that `native` is indeed an unknown CPU and we have to perform a mapping to an actual CPU name, but this mapping is only performed in one location rather than all locations we inform LLVM about the target CPU. This commit centralizes the mapping of `native` to LLVM's value of the native CPU, ensuring that all locations we inform LLVM about the `target-cpu` it's never `native`. Closes #53322
2018-08-27Auto merge of #51456 - qmx:crate-in-path, r=nikomatsakisbors-0/+37
resolve suggestions should use `crate::` when enabled I couldn't find a way to add a specific assertion for the ui test, so the expected output is living under the `crates-in-path.stderr` ui test. - is this the right place for the test? fixes #51212
2018-08-27add test for the suggestion from preludeDouglas Campos-0/+37
2018-08-23add #[panic_handler]; deprecate #[panic_implementation]Jorge Aparicio-4/+4
2018-08-21Rollup merge of #53496 - matthiaskrgr:codespell_08_2018, r=varkorkennytm-4/+4
Fix typos found by codespell.
2018-08-19mv (mod) codemap source_mapDonato Sciarra-1/+1
2018-08-19Fix typos found by codespell.Matthias Krüger-4/+4
2018-08-15Fix some run-make tests after object file naming has changed.Michael Woerister-5/+5
2018-08-08Address review comments for #53031 and fix some merge fallout.Michael Woerister-2/+2
2018-08-07Add test case for including upstream object files in staticlibs when doing ↵Michael Woerister-0/+54
cross-lang LTO.
2018-08-07Run cross-lang-lto tests also for MSVC (since there's no reason not to)Michael Woerister-1/+0
2018-08-07Auto merge of #51007 - AstralSorcerer:master, r=nagisabors-34/+0
Make globals with private linkage unnamed. Fixes #50862. cc @oli-obk @nagisa
2018-08-06Auto merge of #52644 - varkor:lib-feature-gate-2, r=withoutboatsbors-6/+4
Add errors for unknown, stable and duplicate feature attributes - Adds an error for unknown (lang and lib) features. - Extends the lint for unnecessary feature attributes for stable features to libs features (this already exists for lang features). - Adds an error for duplicate (lang and lib) features. ```rust #![feature(fake_feature)] //~ ERROR unknown feature `fake_feature` #![feature(i128_type)] //~ WARNING the feature `i128_type` has been stable since 1.26.0 #![feature(non_exhaustive)] #![feature(non_exhaustive)] //~ ERROR duplicate `non_exhaustive` feature attribute ``` Fixes #52053, fixes #53032 and address some of the problems noted in #44232 (though not unused features). There are a few outstanding problems, that I haven't narrowed down yet: - [x] Stability attributes on macros do not seem to be taken into account. - [x] Stability attributes behind `cfg` attributes are not taken into account. - [x] There are failing incremental tests.
2018-08-05Fix 2018 edition testsvarkor-2/+0
2018-08-05Fix stage 2 testsvarkor-3/+3
2018-08-05Fix test/compile-failvarkor-1/+1
2018-08-04fix exit-code test so the lint fires againQuietMisdreavus-1/+1
2018-08-04Move basic_options to impl of DefaultMark Rousskov-2/+2
2018-08-04Normalize variants of CrateType to standard styleMark Rousskov-1/+1
This is a clippy-breaking change.
2018-07-31Make globals with private linkage unnamed. Fixes #50862.Colin Pronovost-34/+0
2018-07-26Rollup merge of #52723 - alexcrichton:fix-extern-rename-ice, r=estebankMark Rousskov-0/+45
rustc: Register crates under their real names Whenever we register a crate into the crate store, make sure to use the real name mentioned in the metadata instead of the name mentioned in the `extern crate` statement, as the statement can be wrong! Closes #51796
2018-07-25rustc: Register crates under their real namesAlex Crichton-0/+45
Whenever we register a crate into the crate store, make sure to use the real name mentioned in the metadata instead of the name mentioned in the `extern crate` statement, as the statement can be wrong! Closes #51796
2018-07-24Rollup merge of #52391 - Amanieu:volatile_unaligned, r=alexcrichtonMark Rousskov-3/+10
Add unaligned volatile intrinsics Surprisingly enough, it turns out that unaligned volatile loads are actually useful for certain (very niche) types of lock-free code. I included unaligned volatile stores for completeness, but I currently do not know of any use cases for them. These are only exposed as intrinsics for now. If they turn out to be useful in practice, we can work towards stabilizing them. r? @alexcrichton
2018-07-18rustc: distinguish compilation failure from ICEAndy Russell-0/+54
This commit changes the exit status of rustc to 1 in the presence of compilation errors. In the event of an unexpected panic (ICE) the standard panic error exit status of 101 remains. A run-make test is added to ensure that the exit code does not regress, and compiletest is updated to check for an exit status of 1 or 101, depending on the mode and suite. This is a breaking change for custom drivers. Fixes #51971.
2018-07-16Revert "Fix some run-make tests after object file naming has changed."Michael Woerister-5/+5
This reverts commit dd3f445ed264ffc09ea42bd8d89853242e3a26f4.
2018-07-14Add unaligned volatile intrinsicsAmanieu d'Antras-3/+10
2018-07-13Auto merge of #52266 - michaelwoerister:incr-thinlto-preliminaries, ↵bors-5/+5
r=alexcrichton Preliminary work for incremental ThinLTO. Since implementing incremental ThinLTO is a bit more involved than I initially thought, I'm splitting out some of the things that already work. This PR (1) adds a way accessing some ThinLTO information in `rustc` and (2) does some cleanup around CGU/object file naming (which makes things quite a bit nicer). This is probably best reviewed one commit at a time.
2018-07-14Rollup merge of #52330 - jethrogb:jb/target-link-args, r=varkorkennytm-1/+1
Don't silently ignore invalid data in target spec This is technically a breaking change, but only because invalid data was previously silently being ignored.
2018-07-13Don't silently ignore invalid data in target specJethro Beekman-1/+1
2018-07-12Fix some run-make tests after object file naming has changed.Michael Woerister-5/+5
2018-07-11Auto merge of #51966 - alexcrichton:llvm7, r=michaelwoeristerbors-0/+4
Upgrade to LLVM's master branch (LLVM 7) ### Current status ~~Blocked on a [performance regression](https://github.com/rust-lang/rust/pull/51966#issuecomment-402320576). The performance regression has an [upstream LLVM issue](https://bugs.llvm.org/show_bug.cgi?id=38047) and has also [been bisected](https://reviews.llvm.org/D44282) to an LLVM revision.~~ Ready to merge! --- This commit upgrades the main LLVM submodule to LLVM's current master branch. The LLD submodule is updated in tandem as well as compiler-builtins. Along the way support was also added for LLVM 7's new features. This primarily includes the support for custom section concatenation natively in LLD so we now add wasm custom sections in LLVM IR rather than having custom support in rustc itself for doing so. Some other miscellaneous changes are: * We now pass `--gc-sections` to `wasm-ld` * The optimization level is now passed to `wasm-ld` * A `--stack-first` option is passed to LLD to have stack overflow always cause a trap instead of corrupting static data * The wasm target for LLVM switched to `wasm32-unknown-unknown`. * The syntax for aligned pointers has changed in LLVM IR and tests are updated to reflect this. * ~~The `thumbv6m-none-eabi` target is disabled due to an [LLVM bug][llbug]~~ Nowadays we've been mostly only upgrading whenever there's a major release of LLVM but enough changes have been happening on the wasm target that there's been growing motivation for quite some time now to upgrade out version of LLD. To upgrade LLD, however, we need to upgrade LLVM to avoid needing to build yet another version of LLVM on the builders. The revision of LLVM in use here is arbitrarily chosen. We will likely need to continue to update it over time if and when we discover bugs. Once LLVM 7 is fully released we can switch to that channel as well. [llbug]: https://bugs.llvm.org/show_bug.cgi?id=37382 cc #50543
2018-07-10Upgrade to LLVM's master branch (LLVM 7)Alex Crichton-0/+4
This commit upgrades the main LLVM submodule to LLVM's current master branch. The LLD submodule is updated in tandem as well as compiler-builtins. Along the way support was also added for LLVM 7's new features. This primarily includes the support for custom section concatenation natively in LLD so we now add wasm custom sections in LLVM IR rather than having custom support in rustc itself for doing so. Some other miscellaneous changes are: * We now pass `--gc-sections` to `wasm-ld` * The optimization level is now passed to `wasm-ld` * A `--stack-first` option is passed to LLD to have stack overflow always cause a trap instead of corrupting static data * The wasm target for LLVM switched to `wasm32-unknown-unknown`. * The syntax for aligned pointers has changed in LLVM IR and tests are updated to reflect this. * The `thumbv6m-none-eabi` target is disabled due to an [LLVM bug][llbug] Nowadays we've been mostly only upgrading whenever there's a major release of LLVM but enough changes have been happening on the wasm target that there's been growing motivation for quite some time now to upgrade out version of LLD. To upgrade LLD, however, we need to upgrade LLVM to avoid needing to build yet another version of LLVM on the builders. The revision of LLVM in use here is arbitrarily chosen. We will likely need to continue to update it over time if and when we discover bugs. Once LLVM 7 is fully released we can switch to that channel as well. [llbug]: https://bugs.llvm.org/show_bug.cgi?id=37382
2018-07-10Auto merge of #52191 - SimonSapin:alloc_error_handler, r=alexcrichtonbors-1/+4
Implement #[alloc_error_handler] This to-be-stable attribute is equivalent to `#[lang = "oom"]`. It is required when using the `alloc` crate without the `std` crate. It is called by `handle_alloc_error`, which is in turned called by "infallible" allocations APIs such as `Vec::push`.
2018-07-09Implement #[alloc_error_handler]Simon Sapin-1/+4
This to-be-stable attribute is equivalent to `#[lang = "oom"]`. It is required when using the alloc crate without the std crate. It is called by `handle_alloc_error`, which is in turned called by "infallible" allocations APIs such as `Vec::push`.
2018-07-09bump minimum LLVM version to 5.0gnzlbg-14/+2
2018-07-08Auto merge of #51590 - bjorn3:codegen_llvm_extract, r=alexcrichtonbors-5/+4
Mostly fix metadata_only backend and extract some code out of rustc_codegen_llvm Removes dependency on the `ar` crate and removes the `llvm.enabled` config option in favour of setting `rust.codegen-backends` to `[]`.
2018-07-07Auto merge of #52109 - michaelwoerister:ir-objs, r=alexcrichtonbors-23/+19
When doing linker-plugin based LTO, write LLVM bitcode obj-files instead of embedding the bitcode into the regular object file. This PR makes the compiler emit LLVM bitcode object files instead of regular object files with the IR embed when compiling for linker-plugin-based LTO. The reasoning for switching the strategy is this: - Embedding bitcode in a section of the object file actually makes us save bitcode twice in rlibs and Rust dylibs, once for linker-based LTO and once for rustc-based LTO. That's a waste of space. - When compiling for plugin-based LTO, one usually has no use for the machine code also present in the object file. Generating it is a waste of time. - When compiling for plugin-based LTO, `rustc` will skip running ThinLTO because the linker will do that anyway. This has the side effect of then generating poorly optimized machine code, which makes it even less useful (and may lead to users not knowing why their code is slow instead of getting an error). - Not having machine code available makes it impossible for the linker to silently fall back to not inlining stuff across language boundaries. - This is what Clang does and according to [the documentation](https://llvm.org/docs/BitCodeFormat.html#native-object-file-wrapper-format) is the better supported option. - The current behavior (minus the runtime performance problems) is still available via `-Z embed-bitcode` (we might want to do this for `libstd` at some point). r? @alexcrichton
2018-07-07Fix testbjorn3-5/+4
2018-07-06When doing linker-plugin based LTO, write LLVM bitcode obj-filesMichael Woerister-23/+19
instead of embedding the bitcode into the regular object file.
2018-07-05update run-pass testJorge Aparicio-5/+5
2018-06-21fix tidyJorge Aparicio-0/+10
2018-06-21translate / export weak lang itemsJorge Aparicio-0/+31
see #51671 for details fixes #51671 fixes #51342
2018-06-14rustc: rename ty::maps to ty::query.Eduard-Mihai Burtescu-1/+1
2018-06-11Remove some '#[feature]' attributes for stabilized featuresSimon Sapin-1/+0
2018-06-11Remove alloc::Opaque and use *mut u8 as pointer type for GlobalAllocMike Hommey-2/+2
2018-06-06Create thread-poolJohn Kåre Alsaker-24/+25