Yes global -xa gives me the correct .cpp file and all functions with the name I'm looking for, including the exact function I want. By the way, I can only query global for a function's short name, not the full class::function name, which would be more convenient.

Now semanticdb-find-test-translate-path gives me semanticdb-table-global entries for some .cpp files, for some others it doesn't, I don't know why. For the particular .cpp file where my function is, it does give me #<semanticdb-table-global GNU Global Search Table (proxy)>.

With my particular .cpp file opened and parsed, semantic still says it cannot find the implementation from the header.

Finally I read semantic's .cache files myself and I found the function I'm looking for. Semantic knows the function, and the character positions it has for it are correct.


On Tue, Oct 29, 2013 at 7:42 PM, David Engster <deng@randomsample.de> wrote:
Vincent Semeria writes:
> However semantic-analyse-proto-impl-toggle doesn't work. In .h files it always
> says "Could not find suitable implementation".
> Am I missing something ? How can I be sure that
> semantic-analyse-proto-impl-toggle uses the gtags database to find the .cpp
> files ?

To narrow this down, please try the following:

- In the command line, go to the root of your project and call

  global -xa TheFunction

  were 'TheFunction' is the implementation your searching for. Does it
  output the correct .cpp file with the correct implementation (possibly
  among others)?

- In any file in your project run

  M-x semanticdb-find-test-translate-path

  In the buffer that pops up, scroll down and look at the last few
  lines. There should be a line saying something like 'global (proxy)'.

- When Semantic says "Could not find suitable implementation", load the
  correct .cpp file manually so that it is being parsed. Does Semantic
  find the implementation now?