LLVM, Clang and LLDB matching revisions


we are trying to make sure we always build against a known version of LLVM, Clang and LLDB. So far we’ve been building everything from trunk/HEAD, but that fails sometimes (e.g. today Clang seems to be unhappy about something).

Are there any rules which LLVM/Clang/LLDB versions work together? We also saw the tags in the repository, e.g. RELEASE_35, but those don’t seem to necessarily match up.


Hi Mario,

The official approach to this is:

* Sync llvm, clang and lldb with the same effective svn version number.
* Build with them all + whatever patches you might have on the lldb side.
* When something breaks, it typically is an interface change on the way lldb uses clang or llvm. If you can fix it, create a patch and fix it. If you cannot, then go with one of the plan b options.

Plan B
* Go back to the previous version of clang and llvm you were using, but continuing to work off latest lldb + your patches.

Typically that works, except when you are working in the area of lldb that is using a newer API in clang/llvm. We should not be submitting new code in lldb that is not working against the newest code in llvm/clang.

When neither the official approach or the Plan B work, and if you cannot figure out how to patch up lldb to work with latest, then you ask for help :slight_smile:

Hope that helps!