Found while looking into #105 but the opposite problem. This frees the parser after an error has occurred and early return.
After running `pio run --target compiledb` to generate `compile_commands.json`, clangd (at least in neovim) throws errors that `-fno-tree-switch-conversion` and `-fstrict-volatile-bitfields` are not valid flags.