llvm/clang source revs on Linux

When are folks planning to start using a later revision of llvm/clang for the
Linux port? In my troubles to get lldb building on Linux using the documented
revision, I updated to the current llvm and clang revs. I've attached a patch
which gets me over some of the initial errors until I get to the following
error:

[...]
ClangExpressionParser.cpp: In function 'void LLVMErrorHandler(void*,
          const std::string&)':
ClangExpressionParser.cpp:108:11: error: 'class clang::Diagnostic' has
no member named 'Report'
ClangExpressionParser.cpp: In function 'clang::FrontendAction*
CreateFrontendBaseAction(clang::CompilerInstance&)':
ClangExpressionParser.cpp:135:67: error: no matching function for call
to 'clang::GeneratePCHAction::GeneratePCHAction()'
[...]

The code is:
    static void LLVMErrorHandler(void *UserData, const std::string &Message) {
  Diagnostic &Diags = *static_cast<Diagnostic*>(UserData);

  Diags.Report(diag::err_fe_error_backend) << Message;
      
  // We cannot recover from llvm errors.
  exit(1);
    }

Should this be using class DiagnosticsEngine instead of Diagnostic?
It's not obvious how or where LLVMErrorHandler is used, so I'm having
trouble figuring this one out.

Would folks prefer that I continue down this path or backup and fix the
documented revision?

Thanks again,
-Dawn

lldb.patch (4.41 KB)

Often times parameters are added/removed from llvm and clang functions that we use.

If you want to try and update clang on your own, feel free, but you will need to figure out the issues on your own.