Skip to content
  1. Feb 09, 2010
  2. Feb 08, 2010
  3. Feb 05, 2010
  4. Feb 03, 2010
  5. Feb 02, 2010
  6. Feb 01, 2010
  7. Jan 31, 2010
  8. Jan 29, 2010
  9. Jan 28, 2010
    • Douglas Gregor's avatar
      Introduce serialization and deserialization of diagnostic information · ac0605e9
      Douglas Gregor authored
      so that CIndex can report diagnostics through the normal mechanisms
      even when executing Clang in a separate process. This applies both
      when performing code completion and when using ASTs as an intermediary
      for clang_createTranslationUnitFromSourceFile().
      
      The serialized format is not perfect at the moment, because it does
      not encapsulate macro-instantiation information. Instead, it maps all
      source locations back to the instantiation location. However, it does
      maintain source-range and fix-it information. To get perfect fidelity
      from the serialized format would require serializing a large chunk of
      the source manager; at present, it isn't clear if this code will live
      long enough for that to matter.
      
      llvm-svn: 94740
      ac0605e9
    • Douglas Gregor's avatar
      Switch the remaining diagnostic printing in CIndex over to the · ba965fb2
      Douglas Gregor authored
      diagnostic callback mechanism, so all diagnostics now go through that
      callback. Also, eliminate the displayDiagnostics flag to
      clang_createIndex(), since it is no longer necessary: the client
      determines whether to display diagnostics or not.
      
      llvm-svn: 94714
      ba965fb2
    • Douglas Gregor's avatar
      Implement a diagnostics callback for the C interface to Clang, so that · 4f9c3765
      Douglas Gregor authored
      clients can format diagnostics as they wish rather than having to
      parse standard error. All of the important parts of the front end's
      diagnostics are exposed: text, severity, location, source ranges, and
      fix-its. The diagnostics callback is now available with
      clang_createTranslationUnitFromSource() and
      clang_createTranslationUnit().
      
      As part of this change, CXSourceLocation and CXSourceRange got one
      pointer larger, since we need to hold on to the SourceManager and
      LangOptions structures in the source location. This is the minimum
      amount of information needed for the functions that operate on source
      locations and ranges (as implemented now). Previously we held on to
      the ASTContext, but the diagnostics callback can end up with source
      locations when there is no ASTContext (or preprocessor).
      
      Still to do:
        - Code completion needs to support the diagnostics callback, once we
        have the ability to (de-)serialize diagnostics.
        - Eliminate the "displayDiagnostics" argument to createIndex; we'll
        always pass diagnostics to the callback and let it deal with display.
      
      llvm-svn: 94709
      4f9c3765
  10. Jan 27, 2010
  11. Jan 26, 2010
  12. Jan 25, 2010
Loading