diff --git a/.clangd b/.clangd index 7627880..3afc480 100644 --- a/.clangd +++ b/.clangd @@ -1,13 +1,10 @@ -# Editor accommodations for the second frontend. No compilation database is -# named here: this repo rides as a submodule in its consumers, and this file -# travels with it — a consumer's own database then covers these sources, with -# that project's loader flags. The checkout that is opened as a folder names -# its build tree in .vscode/settings.json instead. +# Editor accommodations for the second frontend: only what is true of the +# code wherever it is built. The build tree is named in .vscode/settings.json. CompileFlags: Add: # clang has no 24-bit integer and GCC's are keywords, not macros, so the # editor needs a stand-in for avr::uint24_t. The next width up is the only - # one available — clang rejects _BitInt(24) on this target. + # one available - clang rejects _BitInt(24) on this target. - -D__uint24=unsigned long - -D__int24=long # clangd forwards the driver's system includes but not its own header @@ -16,15 +13,12 @@ CompileFlags: - -D__STDC_LIMIT_MACROS - -D__STDC_CONSTANT_MACROS # isr::emit spells a vector number into [[gnu::signal(N)]], which clang - # rejects rather than ignores — enough of them in one TU to reach the + # rejects rather than ignores - enough of them in one TU to reach the # default limit of 19 inside the headers and truncate the parse. - -ferror-limit=0 Remove: - # Codegen shaping the loader TUs carry and clang has no spelling for. - - -fira-algorithm=* - - -fno-split-wide-types + # Codegen shaping the policy tier carries and clang has no spelling for. - -fno-tree-ter - - -fno-ivopts - -fno-move-loop-invariants # The build promotes warnings for the compiler that has to be right about # them; in the editor the flag paints a second frontend's opinions in the diff --git a/.vscode/settings.json b/.vscode/settings.json index d598a4e..63d04b6 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -5,9 +5,7 @@ "C_Cpp.intelliSenseEngine": "disabled", // --query-driver lets clangd ask the cross compiler for its own system - // includes and target. The database is named here rather than in .clangd - // because that file travels with the driver into a consumer's submodule, - // where a build tree of this repo's own need not exist. + // includes and target. "clangd.arguments": [ "--compile-commands-dir=${workspaceFolder}/build/atmega328p-generated", "--query-driver=**avr-g++*", diff --git a/oracle/README.md b/oracle/README.md index 27459f6..8a45a3a 100644 --- a/oracle/README.md +++ b/oracle/README.md @@ -13,9 +13,9 @@ in AVR assembly. It is the size-and-feature bar for the port's `tsb_asm` tier. ## Why this variant -The user chose the fixed-baud, hardware-UART variant deliberately: it is the one -whose feature set the port must match. It fits the **complete** TSB feature set -into the 512-byte ATmega boot section: +The fixed-baud, hardware-UART variant is the one whose feature set the port must +match. It fits the **complete** TSB feature set into the 512-byte ATmega boot +section: | Feature | Oracle routine | |---|---|