1. This is the right way.
2. We can not distinguish between C or C++, but __cplusplus just needed by C++, not C. We can not find the best way.
3. This is impossible! Because in current, a project per to a parser.
4. Could you give me more explain?
5. In current, we record only the line number, but not the position.
6. Sorry, do not understood.
7. e.g. How to decision? void tes|t() { /* implement*/ }
1. No, it is not the right thing to do, I'm talking as a user.
I don't care that some has used "typedef struct {} name;" (this is the correct C code, by the way), instead of "struct name {};".
In the symbols browser I want to see the struct name, in both cases.
Now, I get Unamed_Struct_00xxx and I should search in the typedefs to see what is the real name.
You can say that it can't be done (of course I doubt about that:) ), but saying this is the right was is plain wrong

2. You can, it the .h file is included from C++ file the __cplusplus macro is define, simple as that (of course it will get pretty nasty if both C and C++ file include the same header)

3. I see
4. See here
http://smrt.is-a-geek.org/codeblocks/screens/cc_toolbar_bug.png5. Can you record the position, I don't think it will be such problem? (Another int in the token struct, big deal).
6. If you have code like this:
int func(int arg1)
{
....
....
int c = arg1; <--- goto declaration here will goto the opening curly bracket of the function '{', not to the position of the argument
}
It looks like 6 is related to 5

7. No need for decision, you can fill the popup menu with all the found declarations and implementations
Blueshake, seems you're right, probably the bug 9.1 is related to bug 10.