Skip to content
  1. Dec 15, 2010
    • Argyrios Kyrtzidis's avatar
      Fix diagnostic pragmas. · 1cb0de1d
      Argyrios Kyrtzidis authored
      Diagnostic pragmas are broken because we don't keep track of the diagnostic state changes and we only check the current/latest state.
      Problems manifest if a diagnostic is emitted for a source line that has different diagnostic state than the current state; this can affect
      a lot of places, like C++ inline methods, template instantiations, the lexer, etc.
      
      Fix the issue by having the Diagnostic object keep track of the source location of the pragmas so that it is able to know what is the diagnostic state at any given source location.
      
      Fixes rdar://8365684.
      
      llvm-svn: 121873
      1cb0de1d
  2. Nov 12, 2010
  3. Mar 16, 2010
  4. Sep 09, 2009
  5. Apr 22, 2009
  6. Mar 10, 2009
  7. Mar 05, 2009
  8. Mar 02, 2009
  9. Feb 04, 2009
  10. Jan 28, 2009
  11. Jan 27, 2009
    • Chris Lattner's avatar
      Introduce a new PresumedLoc class to represent the concept of a location · f1ca7d3e
      Chris Lattner authored
      as reported to the user and as manipulated by #line.  This is what __FILE__,
      __INCLUDE_LEVEL__, diagnostics and other things should follow (but not 
      dependency generation!).  
      
      This patch also includes several cleanups along the way: 
      
      - SourceLocation now has a dump method, and several other places 
        that did similar things now use it.
      - I cleaned up some code in AnalysisConsumer, but it should probably be
        simplified further now that NamedDecl is better.
      - TextDiagnosticPrinter is now simplified and cleaned up a bit.
      
      This patch is a prerequisite for #line, but does not actually provide 
      any #line functionality.
      
      llvm-svn: 63098
      f1ca7d3e
  12. Jan 19, 2009
  13. Jan 17, 2009
    • Chris Lattner's avatar
      Rename SourceLocation::getFileID to getChunkID, because it returns · 71dc14b9
      Chris Lattner authored
      the chunk ID not the file ID.  This exposes problems in 
      TextDiagnosticPrinter where it should have been using the canonical
      file ID but wasn't.  Fix these along the way.
      
      llvm-svn: 62427
      71dc14b9
    • Chris Lattner's avatar
      this massive patch introduces a simple new abstraction: it makes · d32480d3
      Chris Lattner authored
      "FileID" a concept that is now enforced by the compiler's type checker
      instead of yet-another-random-unsigned floating around.
      
      This is an important distinction from the "FileID" currently tracked by
      SourceLocation.  *That* FileID may refer to the start of a file or to a
      chunk within it.  The new FileID *only* refers to the file (and its 
      #include stack and eventually #line data), it cannot refer to a chunk.
      
      FileID is a completely opaque datatype to all clients, only SourceManager
      is allowed to poke and prod it.
      
      llvm-svn: 62407
      d32480d3
    • Chris Lattner's avatar
      Make FullSourceLoc derive from SourceLocation instead of · fb1fd911
      Chris Lattner authored
      containing one.  Containment is generally better than derivation,
      but in this case FullSourceLoc really 'isa' SourceLocation.
      
      llvm-svn: 62375
      fb1fd911
  14. Jan 16, 2009
  15. Sep 29, 2008
  16. Aug 10, 2008
    • Nico Weber's avatar
      * Remove isInSystemHeader() from DiagClient, move it to SourceManager · 4c311643
      Nico Weber authored
      * Move FormatError() from TextDiagnostic up to DiagClient, remove now  
        empty class TextDiagnostic
      * Make DiagClient optional for Diagnostic
      
      This fixes the following problems:
      
      * -html-diags (and probably others) does now output the same set of  
        warnings as console clang does
      * nothing crashes if one forgets to call setHeaderSearch() on  
        TextDiagnostic
      * some code duplication is removed
      
      llvm-svn: 54620
      4c311643
  17. Apr 14, 2008
  18. Apr 03, 2008
  19. Mar 16, 2008
    • Chris Lattner's avatar
      Make a major restructuring of the clang tree: introduce a top-level · 7a51313d
      Chris Lattner authored
      lib dir and move all the libraries into it.  This follows the main
      llvm tree, and allows the libraries to be built in parallel.  The
      top level now enforces that all the libs are built before Driver,
      but we don't care what order the libs are built in.  This speeds
      up parallel builds, particularly incremental ones.
      
      llvm-svn: 48402
      7a51313d
  20. Dec 29, 2007
  21. Dec 12, 2007
    • Ted Kremenek's avatar
      TargetInfo no longer includes a reference to SourceManager. · 1daa3cfb
      Ted Kremenek authored
      Moved all clients of Diagnostics to use FullSourceLoc instead of SourceLocation.
      Added many utility methods to FullSourceLoc to provide shorthand for:
      
          FullLoc.getManager().someMethod(FullLoc.getLocation());
          
      instead we have:
      
          FullLoc.someMethod();
          
      Modified TextDiagnostics (and related classes) to use this short-hand.
      
      llvm-svn: 44957
      1daa3cfb
  22. Nov 01, 2007
    • Ted Kremenek's avatar
      Simplified Serialization code for SourceLocation and SourceRange, and · 5e2eb261
      Ted Kremenek authored
      updated it to the recently updated Serialization API.
      
      Changed clients of SourceLocation serialization to call the
      appropriate new methods.
      
      Updated Decl serialization code to put new skeleton serialization code
      in place that is much better than the older trait-specialization
      approach.
      
      llvm-svn: 43625
      5e2eb261
  23. Oct 25, 2007
Loading