feat(lint): eleven new rules over directives, data and addressing
Assisted-by: GLM 5.3
This commit is contained in:
+12
-5
@@ -131,8 +131,11 @@ Rules: `unknown-instruction`, `operand-count`, `undefined-label`,
|
||||
`abi-argsize`, `unreachable-code`, `register-clobber`,
|
||||
`funcdata-pcdata`, `unused-label`, `invalid-textflag`,
|
||||
`stack-imbalance`, `register-width-mismatch`, `abi0-register-args`,
|
||||
`nonportable-register-name`, `unencodable-instruction` and
|
||||
`reserved-register-write`.
|
||||
`nonportable-register-name`, `unencodable-instruction`,
|
||||
`reserved-register-write`, `missing-argsize`, `noframe-frame-size`,
|
||||
`unnamed-fp-reference`, `hardware-sp-addressing`, `vex-sse-mixing`,
|
||||
`unnamed-result`, `data-width`, `data-value-overflow`,
|
||||
`data-string-width`, `data-without-globl` and `data-exceeds-globl`.
|
||||
|
||||
```sh
|
||||
gasm lint kernel_amd64.s
|
||||
@@ -455,14 +458,18 @@ Provides: completion, hover, document symbols, push and pull diagnostics,
|
||||
semantic tokens, go-to-definition, find references, rename, document
|
||||
formatting, inlay hints, code actions, signature help, document highlights,
|
||||
workspace symbol search, #include document links, and folding ranges for
|
||||
function bodies. Definition, references and rename work across every open
|
||||
function bodies. Completion offers the architecture's registers and
|
||||
instructions, the TEXT/DATA/GLOBL directives, the annotation and padding
|
||||
pseudo-ops (PCALIGN, FUNCDATA, PCDATA, the BYTE family) and the textflag
|
||||
constants; hover documents mnemonics, registers, pseudo-registers and the
|
||||
directives. Definition, references and rename work across every open
|
||||
document and the wider workspace on disk: the server indexes the `.s` files
|
||||
under the workspace root that the editor has never opened, an open buffer
|
||||
always shadows its disk copy, and watched-file events together with a
|
||||
per-query freshness check keep the index current. The quick fixes add the
|
||||
missing `#include "textflag.h"`, set the TEXT argument area to the size the
|
||||
`// func` signature implies, add a missing `RET`, and remove an unused
|
||||
label.
|
||||
`// func` signature implies, declare that area when it is omitted entirely,
|
||||
add a missing `RET`, and remove an unused label.
|
||||
|
||||
## version
|
||||
|
||||
|
||||
Reference in New Issue
Block a user