CDT does not present unreachable in code completions. The issue you are facing is the definition of unreachable AFAICT.
In C, everything that is not static is "public" and can be called from anywhere else. No declaration is even necessary (although I would recommend -Wall -Werror
, but that is a separate discussion).
For example, consider file.c
with contents:
static void func_private1(void) {}
static void func_private2(void) {}