If the filetype of `xx.foo` is manually set to `C` the symbols are parsed, and at `(1)` (well the line after) `xx_<ctrl>space` correctly shows `xx_foo` and typing the `(` shows the calltip correctly, so tags parsing seems ok.
Well, if you add a line after the existing `xx_foo()`, `xx_<ctrl>space` will likely complete from the content of the file rather than the symbols here (e.g. works for me, but I don't get a nice icon for the symbol, because it's *not* coming from the symbols but the wordlist from the current file). Try again removing the line I wrote, it doesn't work for me.
So its more likely in the Geany code of auto-autocompletions and goto symbol definition (which doesn't work in `xx.foo` either, not just `something.c`).
Hum, interesting, for me it works just fine if I e.g. add an additional line at the end of `xx.foo` and type `xx_`, it suggests `xx_foo` as normal with icon and everything.