Review Request 119959: Do not create multiple chains/env files on update.

Milian Wolff mail at
Wed Aug 27 19:20:12 UTC 2014

This is an automatically generated e-mail. To reply, visit:

Review request for KDevelop and Sergey Kalinichev.

Repository: kdev-clang


The implementation of ClangParsingEnvironmentFile::matchEnvironment
was too restrictive. A "match" should just indicate that a given
DUChain is valid for a given environment in principle, not whether
its environment is equal (or so I think right now).

Otherwise, we end up creating multiple TopDUContexts with associated
ClangEnvironmentFiles whenever the environment has changed and a
reparse is triggered.


  clangsupport.cpp 7d091eb3873a973ae283dcdafb9551d0fd16d325 
  duchain/clangparsingenvironmentfile.cpp b7d903c9961beeecaca7438d7f5c96be5394387c 
  tests/test_duchain.cpp d0146c92f8a7d878aaca8266d6c3f07b24a60701 



The unit test now passes, but I could never reproduce this:

commit fccc9b4311abb8f858c18e80348df8d3e09b1ce3
Author: Sergey Kalinichev < at>
Date:   Tue Aug 19 21:54:57 2014 +0400

    Implement ClangParsingEnvironmentFile::matchEnvironment
    Now code completion is so much faster!

so I don't know whether the code completion is now slower again? Anyhow, if that is the case we'd need a different fix anyways.


Milian Wolff

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the KDevelop-devel mailing list