Fix minor UB in the treesitter scanner. (#3267)

In C, the signature `f()` is distinct from `f(void)` -- dating from K&R
style prototype-less functions. We need to use the `f(void)` form for
the scanner creation function so that it can be called by function
pointer `void *(*)(void)` without UB.

This was causing a local test that includes treesitter to fail with our
fastbuild that enables most sanitizers. With this, we may be able to
enable treesitter on our CI as well, but it at least fixes my local test
runs.
This commit is contained in:
Chandler Carruth
2023-10-05 17:36:59 +00:00
committed by GitHub
parent 4596cd230d
commit 7dfd7ca3b4
+1 -1
View File
@@ -11,7 +11,7 @@ enum TokenType {
};
// our scanner is stateless
void* tree_sitter_carbon_external_scanner_create() { return NULL; }
void* tree_sitter_carbon_external_scanner_create(void) { return NULL; }
unsigned tree_sitter_carbon_external_scanner_serialize(
__attribute__((unused)) void* payload,