Skip to content
  1. Oct 24, 2007
  2. Oct 16, 2007
  3. Oct 13, 2007
  4. Oct 11, 2007
  5. Oct 10, 2007
  6. Oct 07, 2007
  7. Oct 06, 2007
  8. Sep 22, 2007
  9. Sep 12, 2007
  10. Sep 06, 2007
  11. Sep 03, 2007
  12. Aug 30, 2007
  13. Aug 02, 2007
    • Chris Lattner's avatar
      Fix a bug in my previous commit · 6a340b43
      Chris Lattner authored
      llvm-svn: 40719
      6a340b43
    • Chris Lattner's avatar
      Increase the macro id cache to look up several recent entries, not just the last one. · 04e3d20a
      Chris Lattner authored
      This is important in insane cases like the one dannyb sent me recently:
      
      #define F0(a) void a(){}
      #define F1(a) F0(a##0) F0(a##1) F0(a##2) F0(a##3) F0(a##4) F0(a##5) F0(a##6) F0(a##7)
      #define F2(a) F1(a##0) F1(a##1) F1(a##2) F1(a##3) F1(a##4) F1(a##5) F1(a##6) F1(a##7)
      #define F3(a) F2(a##0) F2(a##1) F2(a##2) F2(a##3) F2(a##4) F2(a##5) F2(a##6) F2(a##7)
      #define F4(a) F3(a##0) F3(a##1) F3(a##2) F3(a##3) F3(a##4) F3(a##5) F3(a##6) F3(a##7)
      #define F5(a) F4(a##0) F4(a##1) F4(a##2) F4(a##3) F4(a##4) F4(a##5) F4(a##6) F4(a##7)
      #define F6(a) F5(a##0) F5(a##1) F5(a##2) F5(a##3) F5(a##4) F5(a##5) F5(a##6) F5(a##7)
      F6(f)
      
      cpp is great.  :)
      
      llvm-svn: 40715
      04e3d20a
  14. Jul 24, 2007
  15. Jul 22, 2007
  16. Jul 21, 2007
  17. Jul 20, 2007
    • Chris Lattner's avatar
      remove some old cruft · e60b21c0
      Chris Lattner authored
      llvm-svn: 40111
      e60b21c0
    • Chris Lattner's avatar
      improve comments, implement a trivial single-entry cache in · ca8ebc09
      Chris Lattner authored
      SourceManager::getInstantiationLoc.  With this change, every token
      expanded from a macro doesn't get its own MacroID.  :)
      
      This reduces # macro IDs in carbon.h from 16805 to 9197
      
      llvm-svn: 40108
      ca8ebc09
    • Chris Lattner's avatar
      Reimplement SourceLocation. Instead of having a · dc5c055f
      Chris Lattner authored
      fileid/offset pair, it now contains a bit discriminating between
      mapped locations and file locations.  This separates the tables for
      macros and files in SourceManager, and allows better separation of
      concepts in the rest of the compiler.  This allows us to have *many*
      macro instantiations before running out of 'addressing space'.
      
      This is also more efficient, because testing whether something is a
      macro expansion is now a bit test instead of a table lookup (which
      also used to require having a srcmgr around, now it doesn't).
      
      This is fully functional, but there are several refinements and
      optimizations left.
      
      llvm-svn: 40103
      dc5c055f
  18. Jul 16, 2007
    • Chris Lattner's avatar
      Make octal constant lexing use AdvanceToTokenCharacter to give more · bb1b44f0
      Chris Lattner authored
      accurate diagnostics.  For test/Lexer/comments.c we now emit:
      
      int x = 000000080;  /* expected-error {{invalid digit}} */
                     ^
      constants.c:7:4: error: invalid digit '8' in octal constant
      00080;             /* expected-error {{invalid digit}} */
         ^
      
      
      The last line is due to an escaped newline.  The full line looks like:
      
      int y = 0000\
      00080;             /* expected-error {{invalid digit}} */
      
      
      Previously, we emitted:
      constants.c:4:9: error: invalid digit '8' in octal constant
      int x = 000000080;  /* expected-error {{invalid digit}} */
              ^
      constants.c:6:9: error: invalid digit '8' in octal constant
      int y = 0000\
              ^
      
      which isn't too bad, but the new way is better for the user,
      regardless of whether there is an escaped newline or not.
      
      All the other lexer-related diagnostics should switch over 
      to using AdvanceToTokenCharacter where appropriate.  Help
      wanted :).
      
      This implements test/Lexer/constants.c.
      
      llvm-svn: 39906
      bb1b44f0
  19. Jul 15, 2007
  20. Jul 14, 2007
  21. Jul 12, 2007
  22. Jun 22, 2007
  23. Jun 16, 2007
    • Chris Lattner's avatar
      Finally bite the bullet and make the major change: split the clang namespace · 23b7eb67
      Chris Lattner authored
      out of the llvm namespace.  This makes the clang namespace be a sibling of
      llvm instead of being a child.
      
      The good thing about this is that it makes many things unambiguous.  The
      bad things is that many things in the llvm namespace (notably data structures
      like smallvector) now require an llvm:: qualifier.  IMO, libsystem and libsupport
      should be split out of llvm into their own namespace in the future, which will fix
      this issue.
      
      llvm-svn: 39659
      23b7eb67
  24. Jun 10, 2007
    • Bill Wendling's avatar
      Submitted by: Bill Wendling · 314ae547
      Bill Wendling authored
      Reviewed by: Chris Lattner
      
      - Added a method "IgnoreDiagnostic" so that the diagnostic client can
        tell the diagnostic object that it doesn't want to handle a particular
        diagnostic message. In which case, it won't be counted as either a
        diagnostic or error.
      
      llvm-svn: 39641
      314ae547
  25. Jun 08, 2007
    • Bill Wendling's avatar
      Submitted by: Bill Wendling · 344b92e9
      Bill Wendling authored
      - Say! why don't we increment the NumDiagnostics variable too?
      
      llvm-svn: 39616
      344b92e9
    • Bill Wendling's avatar
      Submitted by: Bill Wendling · da0c8a96
      Bill Wendling authored
      Reviewed by: Chris Lattner
      
      - Make the counting of errors and diagnostic messages sane. Place them into the
        Diagnostic class instead of in the DiagnosticClient class.
      
      llvm-svn: 39615
      da0c8a96
  26. May 28, 2007
  27. May 19, 2007
    • Chris Lattner's avatar
      improve const correctness · beeb9bc5
      Chris Lattner authored
      llvm-svn: 39460
      beeb9bc5
    • Steve Naroff's avatar
      Bug #: · 71ce2e06
      Steve Naroff authored
      Submitted by:
      Reviewed by:
      An important, but truly mind numbing change.
      
      Added 6 flavors of Sema::Diag() that take 1 or two SourceRanges. Considered
      adding 3 flavors (using default args), however this wasn't as clear.
      
      Removed 2 flavors of Sema::Diag() that took LexerToken's (they weren't used).
      
      Changed all the typechecking routines to pass the appropriate range(s).
      
      Hacked the diagnostic machinery and driver to acccommodate the new data.
      
      What's left? A FIXME in clang.c to use the ranges. Chris offered to do the
      honors:-) Which includes taking us to the end of an identifier:-)
      
      llvm-svn: 39456
      71ce2e06
  28. May 16, 2007
  29. May 07, 2007
  30. Apr 29, 2007
Loading