about summary refs log tree commit diff
path: root/src/test/compile-fail
AgeCommit message (Collapse)AuthorLines
2019-10-22fix compile-fail testEsteban Küber-0/+1
2019-10-18[const-prop] Handle MIR Rvalue::AggregatesWesley Wiser-0/+1
2019-10-16Upgrade Emscripten targets to use upstream LLVM backendThomas Lively-1/+1
- Compatible with Emscripten 1.38.46-upstream or later upstream. - Refactors the Emscripten target spec to share code with other wasm targets. - Replaces the old incorrect wasm32 C call ABI with the correct one, preserving the old one as wasm32_bindgen_compat for wasm-bindgen compatibility. - Updates the varargs ABI used by Emscripten and deletes the old one. - Removes the obsolete wasm32-experimental-emscripten target. - Uses EMCC_CFLAGS on CI to avoid the timeout problems with #63649.
2019-10-05Revert "Auto merge of #63649 - tlively:emscripten-upstream-upgrade, ↵Tyler Mandry-1/+1
r=alexcrichton" This reverts commit 7870050796e5904a0fc85ecbe6fa6dde1cfe0c91, reversing changes made to 2e7244807a7878f6eca3eb7d97ae9b413aa49014.
2019-10-04Fix ABI, run and fix more tests, re-enable CI for PRsThomas Lively-1/+1
2019-09-23rustc: Fix mixing crates with different `share_generics`Alex Crichton-0/+1
This commit addresses #64319 by removing the `dylib` crate type from the list of crate type that exports generic symbols. The bug in #64319 arises because a `dylib` crate type was trying to export a symbol in an uptream crate but it miscalculated the symbol name of the uptream symbol. This isn't really necessary, though, since `dylib` crates aren't that heavily used, so we can just conservatively say that the `dylib` crate type never exports generic symbols, forcibly removing them from the exported symbol lists if were to otherwise find them. The fix here happens in two places: * First is in the `local_crate_exports_generics` method, indicating that it's now `false` for the `Dylib` crate type. Only rlibs actually export generics at this point. * Next is when we load exported symbols from upstream crate. If, for our compilation session, the crate may be included from a dynamic library, then its generic symbols are removed. When the crate was linked into a dynamic library its symbols weren't exported, so we can't consider them a candidate to link against. Overally this should avoid situations where we incorrectly calculate the upstream symbol names in the face of differnet `share_generics` options, ultimately... Closes #64319
2019-09-17Get rid of special const intrinsic query in favour of `const_eval`Oliver Scherer-0/+11
2019-08-06move error with diverging output to compile-failEsteban Küber-0/+7
2019-07-11rustc_mir: follow FalseUnwind's real_target edge in qualify_consts.Eduard-Mihai Burtescu-3/+8
2019-07-06Make WhileTrue into an EarlyLintPass lint.Mazdak Farrokhzad-0/+1
2019-06-20Auto merge of #60341 - mtak-:macos-tlv-workaround, r=alexcrichtonbors-3/+3
macos tlv workaround fixes: #60141 Includes: * remove dead code: `requires_move_before_drop`. This hasn't been needed for a while now (oops I should have removed it in #57655) * redox had a copy of `fast::Key` (not sure why?). That has been removed. * Perform a `read_volatile` on OSX to reduce `tlv_get_addr` calls per `__getit` from (4-2 depending on context) to 1. `tlv_get_addr` is relatively expensive (~1.5ns on my machine). Previously, in contexts where `__getit` was inlined, 4 calls to `tlv_get_addr` were performed per lookup. For some reason when `__getit` is not inlined this is reduced to 2x - and performance improves to match. After this PR, I have only ever seen 1x call to `tlv_get_addr` per `__getit`, and macos now benefits from situations where `__getit` is inlined. I'm not sure if the `read_volatile(&&__KEY)` trick is working around an LLVM bug, or a rustc bug, or neither. r? @alexcrichton
2019-06-19fix compile-fail test for targets without thread localstyler-4/+3
2019-06-13Create fewer basic blocks in match MIR loweringMatthew Jasper-0/+2
2019-05-29Update the rest of the test suites to use dynmemoryruins-1/+1
2019-05-15clang tidy fixestyler-1/+2
2019-05-15fix another testtyler-1/+1
2019-04-23Stabilize futures_apiTaylor Cramer-1/+1
2019-04-05Future-proof the Futures APITaylor Cramer-2/+2
2019-04-01Allow closure to unsafe fn coercionTaiki Endo-0/+5
2019-03-20Fix a bug in implied boundsscalexm-0/+28
2019-02-03Apply review suggestions and fix testsMatthias Einwag-2/+2
2019-01-09Stabilize `let` bindings and destructuring in constants and const fnOliver Scherer-1/+1
2018-12-31Rename and fix nolink-with-link-args testMika Lehtinen-13/+12
There are three problems with the nolink-with-link-args test: * The test fails when using MSVC. It's caused by the `linker-flavor=ld` flag which was added in #46291. * In its comment, this test tests that "link_args are indeed passed when nolink is specified", but the `nolink` attribute has been removed [a long time ago](https://github.com/rust-lang/rust/pull/12826). * Pattern has a small typo. At first I was going to completely remove this test, but there is [a closed pull request for that](https://github.com/rust-lang/rust/pull/21090). So: * rename the file as suggested in the closed PR * adjust the comment * fix typo in the pattern * add `ignore-msvc`.
2018-12-27Auto merge of #56999 - petrochenkov:macrecov2, r=estebankbors-0/+25
AST/HIR: Introduce `ExprKind::Err` for better error recovery in the front-end This way we can avoid aborting compilation if expansion produces errors and generate `ExprKind::Err`s instead.
2018-12-27Add testsscalexm-0/+96
2018-12-27Address review comments and CI failuresVadim Petrochenkov-0/+25
2018-12-25Remove licensesMark Rousskov-310/+0
2018-12-21Stabilize PinTaylor Cramer-1/+1
2018-12-18Auto merge of #56160 - oli-obk:const_fn_let, r=nikomatsakisbors-3/+1
Fix various aspects around `let` bindings inside const functions * forbid `let` bindings in const contexts that use short circuiting operators * harden analysis code against derefs of mutable references Initially this PR was about stabilizing `let` bindings, but too many flaws were exposed that need some more testing on nightly
2018-12-15Rollup merge of #56677 - aelred:must-use-on-traits, r=estebankPietro Albini-0/+47
#[must_use] on traits in stdlib Based on #55506. Adds `#[must_use]` attribute to traits in the stdlib: - `Iterator` - `Future` - `FnOnce` - `Fn` - `FnMut` There may be other traits that should have the attribute, but I couldn't find/think of any.
2018-12-14Auto merge of #56351 - davidtwco:issue-55396-stabilize-linker-flavor, r=nagisabors-2/+2
Stabilize `linker-flavor` flag. Part of #55396. This commit moves the linker-flavor flag from a debugging option to a codegen option, thus stabilizing it. There are no feature flags associated with this flag. r? @nagisa
2018-12-13Stabilize `linker-flavor` flag.David Wood-2/+2
This commit moves the linker-flavor flag from a debugging option to a codegen option, thus stabilizing it. There are no feature flags associated with this flag.
2018-12-10Add trailing newlineFelix Chapman-1/+1
2018-12-10Add test to check library traits have #[must_use] attributeFelix Chapman-0/+47
2018-12-09Move former compile-fail-fulldeps tests to uiVadim Petrochenkov-1534/+0
2018-12-07Unsupport `#[derive(Trait)]` sugar for `#[derive_Trait]` legacy plugin ↵Vadim Petrochenkov-1/+1
attributes
2018-11-30Fix a compile-fail testOliver Scherer-1/+1
2018-11-30Update compile-fail testOliver Scherer-2/+0
2018-11-30tests: use `force-host` and `no-prefer-dynamic` in all proc_macro tests.Eduard-Mihai Burtescu-2/+25
2018-11-30tests: move all proc_macro tests from -fulldeps.Eduard-Mihai Burtescu-0/+1511
2018-11-22Reword and fix testEsteban Küber-3/+1
2018-11-16adjust remaining testsRalf Jung-0/+2
2018-11-15Auto merge of #54906 - qnighy:fix-issue-50452, r=nikomatsakisbors-0/+32
Reattach all grandchildren when constructing specialization graph. Specialization graphs are constructed by incrementally adding impls in the order of declaration. If the impl being added has its specializations in the graph already, they should be reattached under the impl. However, the current implementation only reattaches the one found first. Therefore, in the following specialization graph, ``` Tr1 | I3 / \ I1 I2 ``` If `I1`, `I2`, and `I3` are declared in this order, the compiler mistakenly constructs the following graph: ``` Tr1 / \ I3 I2 | I1 ``` This patch fixes the reattach procedure to include all specializing grandchildren-to-be. Fixes #50452.
2018-10-27Auto merge of #54183 - qnighy:by-value-object-safety, r=oli-obkbors-72/+0
Implement by-value object safety This PR implements **by-value object safety**, which is part of unsized rvalues #48055. That means, with `#![feature(unsized_locals)]`, you can call a method `fn foo(self, ...)` on trait objects. One aim of this is to enable `Box<FnOnce>` in the near future. The difficulty here is this: when constructing a vtable for a trait `Foo`, we can't just put the function `<T as Foo>::foo` into the table. If `T` is no larger than `usize`, `self` is usually passed directly. However, as the caller of the vtable doesn't know the concrete `Self` type, we want a variant of `<T as Foo>::foo` where `self` is always passed by reference. Therefore, when the compiler encounters such a method to be generated as a vtable entry, it produces a newly introduced instance called `InstanceDef::VtableShim(def_id)` (that wraps the original instance). the shim just derefs the receiver and calls the original method. We give different symbol names for the shims by appending `::{{vtable-shim}}` to the symbol path (and also adding vtable-shimness as an ingredient to the symbol hash). r? @eddyb
2018-10-25Rebase falloutOliver Schneider-2/+1
2018-10-25Report const eval error inside the queryOliver Schneider-3/+3
2018-10-24Move compile-fail/unsized-locals under ui as per #44844.Masaki Hara-102/+0
2018-10-24Add tests for unsized-locals.Masaki Hara-0/+30
2018-10-08Reattach all grandchildren when constructing specialization graph.Masaki Hara-0/+32
This commit fixes the issue #50452.
2018-10-05Stabilize `min_const_fn`Oliver Schneider-1/+0