about summary refs log tree commit diff
path: root/src/test/ui/target-feature
AgeCommit message (Collapse)AuthorLines
2020-10-26Add compiler support for LLVM's x86 ERMSB featureJoe Richey-1/+2
This change is needed for compiler-builtins to check for this feature when implementing memcpy/memset. See: https://github.com/rust-lang/compiler-builtins/pull/365 The change just does compile-time detection. I think that runtime detection will have to come in a follow-up CL to std-detect. Like all the CPU feature flags, this just references #44839 Signed-off-by: Joe Richey <joerichey@google.com>
2020-09-20Remove MMX from RustMateusz MikuĊ‚a-4/+2
2020-09-05Emit warnings for misplaced attributes used by some cratesCaleb Zulawski-26/+34
2020-09-05Check placement of more attributesCaleb Zulawski-11/+23
2020-08-22Use smaller def span for functionsAaron Hill-2/+2
Currently, the def span of a funtion encompasses the entire function signature and body. However, this is usually unnecessarily verbose - when we are pointing at an entire function in a diagnostic, we almost always want to point at the signature. The actual contents of the body tends to be irrelevant to the diagnostic we are emitting, and just takes up additional screen space. This commit changes the `def_span` of all function items (freestanding functions, `impl`-block methods, and `trait`-block methods) to be the span of the signature. For example, the function ```rust pub fn foo<T>(val: T) -> T { val } ``` now has a `def_span` corresponding to `pub fn foo<T>(val: T) -> T` (everything before the opening curly brace). Trait methods without a body have a `def_span` which includes the trailing semicolon. For example: ```rust trait Foo { fn bar(); }``` the function definition `Foo::bar` has a `def_span` of `fn bar();` This makes our diagnostic output much shorter, and emphasizes information that is relevant to whatever diagnostic we are reporting. We continue to use the full span (including the body) in a few of places: * MIR building uses the full span when building source scopes. * 'Outlives suggestions' use the full span to sort the diagnostics being emitted. * The `#[rustc_on_unimplemented(enclosing_scope="in this scope")]` attribute points the entire scope body. * The 'unconditional recursion' lint uses the full span to show additional context for the recursive call. All of these cases work only with local items, so we don't need to add anything extra to crate metadata.
2020-06-04test: ui: skip tests which aren't appropriate for RISC-VTom Eccles-15/+17
2020-05-18Add tests for asm!Amanieu d'Antras-1/+1
2020-05-18Add RISC-V target featuresAmanieu d'Antras-0/+1
2020-05-01Add new tests and bless old testsLeSeulArtichaut-9/+19
2020-04-16Extend UI tests for fixed check_attr()Matthias Schiffer-1/+36
Add testcases for the `#[track_caller]` and `#[target_feature(..)]` function attributes for errors that were not not caught before.
2020-02-09--bless --compare-mode=nllMatthias Prechtl-1/+1
2019-12-02Update the minimum external LLVM to 7Josh Stone-2/+1
LLVM 7 is over a year old, which should be plenty for compatibility. The last LLVM 6 holdout was llvm-emscripten, which went away in #65501. I've also included a fix for LLVM 8 lacking `MemorySanitizerOptions`, which was broken by #66522.
2019-09-26hir: Disallow `target_feature` on constantsDavid Wood-0/+215
This commit fixes an ICE when `target_feature` is applied to constants. Signed-off-by: David Wood <david@davidtw.co>