Rollup merge of #127935 - tgross35:binary_asm_labels-x86-only, r=estebank,Urgau
Change `binary_asm_labels` to only fire on x86 and x86_64 In <https://github.com/rust-lang/rust/pull/126922>, the `binary_asm_labels` lint was added which flags labels such as `0:` and `1:`. Before that change, LLVM was giving a confusing error on x86/x86_64 because of an incorrect interpretation. However, targets other than x86 and x86_64 never had the error message and have not been a problem. This means that the lint was causing code that previously worked to start failing (e.g. `compiler_builtins`), rather than only providing a more clear messages where there has always been an error. Adjust the lint to only fire on x86 and x86_64 assembly to avoid this regression. Also update the help message. Fixes: https://github.com/rust-lang/rust/issues/127821
This commit is contained in:
commit
6bdf9bd276
5 changed files with 77 additions and 26 deletions
|
@ -403,8 +403,9 @@ lint_inner_macro_attribute_unstable = inner macro attributes are unstable
|
|||
|
||||
lint_invalid_asm_label_binary = avoid using labels containing only the digits `0` and `1` in inline assembly
|
||||
.label = use a different label that doesn't start with `0` or `1`
|
||||
.note = an LLVM bug makes these labels ambiguous with a binary literal number
|
||||
.note = see <https://bugs.llvm.org/show_bug.cgi?id=36144> for more information
|
||||
.help = start numbering with `2` instead
|
||||
.note1 = an LLVM bug makes these labels ambiguous with a binary literal number on x86
|
||||
.note2 = see <https://github.com/llvm/llvm-project/issues/99547> for more information
|
||||
|
||||
lint_invalid_asm_label_format_arg = avoid using named labels in inline assembly
|
||||
.help = only local labels of the form `<number>:` should be used in inline asm
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue