.clangd said the repository rides as a submodule in its consumers, which none does, and removed three codegen flags only pureboot's loaders carry; its em dashes are ASCII now. The settings.json comment built on the same premise goes, and the oracle README states the variant rather than who chose it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
33 lines
1.5 KiB
YAML
33 lines
1.5 KiB
YAML
# 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.
|
|
- -D__uint24=unsigned long
|
|
- -D__int24=long
|
|
# clangd forwards the driver's system includes but not its own header
|
|
# directory, so <stdint.h> resolves to avr-libc's, which still gates the
|
|
# limit and constant macros on the C++98 opt-in.
|
|
- -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
|
|
# default limit of 19 inside the headers and truncate the parse.
|
|
- -ferror-limit=0
|
|
Remove:
|
|
# Codegen shaping the policy tier carries and clang has no spelling for.
|
|
- -fno-tree-ter
|
|
- -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
|
|
# colour reserved for things that do not compile.
|
|
- -Werror
|
|
Diagnostics:
|
|
Suppress:
|
|
# clang's AVR `signal` attribute takes no arguments and it knows none of
|
|
# progmem, naked or OS_main. A misspelling is what the build is for.
|
|
- attribute_wrong_number_arguments
|
|
- unknown-attributes
|