It seems you are right, the feature was not implemented. 
That's great news, actually... :-D
It may be a bug, see the statement:
m_Tokenizer.GetToken(); // "eat" {
I think we need to check the Token is a "{" or not, am I right?
Yes, it can be a simple statement as in my example case... How do we do this check? (I am new to the CC code, sorry)
BTW, I changed by example to
extern "C" {void foo_asm(void);}
extern void foo_OK(void);
void main()
{
foo
}
And now I get the completion for both foo_OK and foo_asm. :-)
However, I'd still prefer to not to have to use {}s...