docs: complete the release delta in the changelog and readme
This commit is contained in:
@@ -119,6 +119,20 @@ identifier is a register or a label is an *architecture* question, so it is
|
||||
left to `arch` and resolved in the lint/lsp layers. This keeps the parser
|
||||
arch-agnostic and its output deterministic.
|
||||
|
||||
### Optional preprocessing
|
||||
|
||||
With `Options{Expand: true}` the parser runs a pre-parse pass
|
||||
(`preproc.go`) that splices `#include` files (the source directory, then the
|
||||
`-I` directories), expands object and parameterised `#define` macros,
|
||||
applies `#undef` and the `#ifdef`/`#ifndef`/`#else`/`#endif` family, and
|
||||
folds constant expressions left in operands. The go command's platform
|
||||
macros (`GOARCH_<arch>`, `GOOS_<goos>`) arrive through `Options.Predefines`.
|
||||
The assembly path (`asm`, `diff`, `audit`) expands; `lint`, `fmt` and the
|
||||
language server read the raw file. The command layer adds the go_asm.h
|
||||
generator (`asmhdr.go`): a file that includes go_asm.h gets the package's
|
||||
defines type-checked out of its Go files for the target architecture and
|
||||
GOOS, with no compiler in the loop.
|
||||
|
||||
### `arch`
|
||||
|
||||
Register files are generated programmatically (the regular `R8`-`R15`,
|
||||
|
||||
Reference in New Issue
Block a user