Skip to content
  1. Nov 11, 2009
    • Daniel Dunbar's avatar
      Redo how PCH handles its implicit include. Instead of treating this specially in · 000c4ffd
      Daniel Dunbar authored
      the front-end (as far as the preprocessor goes), follow the usual logic of
      inserting the (original include path) name into the predefines buffer. This
      pushes the responsibility for handling this to PCH instead of the front-end.  In
      PCH this requires being a little more clever when we diff the predefines
      buffers.
      
      Neither of these solutions are particularly great, I think what we eventually
      should do is something like gcc where we insert a special marker to indicate the
      PCH file, but then run the preprocessor as usual. This would be clearer and
      would allow us to drop the overly clever predefines handling.
      
      llvm-svn: 86806
      000c4ffd
    • Daniel Dunbar's avatar
      499baed8
    • Daniel Dunbar's avatar
      Rewrite splitLines using StringRef; this is much simpler, and also now avoids · 8665c7e3
      Daniel Dunbar authored
      tons of std::string trashing. I plan to move this and other fun string munging
      utilities to a StringRefExtras.h at some point if no one beats me to it.
      
      On a synthetic benchmark on x86_64, llvm-gcc actually generates code thats 10%
      faster using the StringRef version. gcc miscompiles the synthetic benchmark,
      which I'm crossing my fingers and hoping won't happen here. clang compiles the
      sythetic benchmark correctly (wootness), but the StringRef version is
      slower. Silly clang.
      
      llvm-svn: 86799
      8665c7e3
    • Douglas Gregor's avatar
      Introduce a new representation for template template · 9167f8bb
      Douglas Gregor authored
      parameters. Rather than storing them as either declarations (for the
      non-dependent case) or expressions (for the dependent case), we now
      (always) store them as TemplateNames. 
      
      The primary change here is to add a new kind of TemplateArgument,
      which stores a TemplateName. However, making that change ripples to
      every switch on a TemplateArgument's kind, also affecting
      TemplateArgumentLocInfo/TemplateArgumentLoc, default template
      arguments for template template parameters, type-checking of template
      template arguments, etc.
      
      This change is light on testing. It should fix several pre-existing
      problems with template template parameters, such as:
        - the inability to use dependent template names as template template
        arguments
        - template template parameter default arguments cannot be
        instantiation
      
      However, there are enough pieces missing that more implementation is
      required before we can adequately test template template parameters. 
      
      llvm-svn: 86777
      9167f8bb
    • Daniel Dunbar's avatar
      StringRefify some PCH interfaces. · 20a682de
      Daniel Dunbar authored
      llvm-svn: 86775
      20a682de
    • Daniel Dunbar's avatar
      Replace startsWith functions with StringRef. · 045c92f8
      Daniel Dunbar authored
      llvm-svn: 86774
      045c92f8
    • Daniel Dunbar's avatar
      93097b39
    • Daniel Dunbar's avatar
      de02f639
  2. Nov 10, 2009
  3. Nov 09, 2009
  4. Nov 08, 2009
  5. Nov 07, 2009
  6. Nov 05, 2009
  7. Nov 04, 2009
  8. Nov 03, 2009
  9. Nov 02, 2009
  10. Oct 30, 2009
  11. Oct 29, 2009
  12. Oct 27, 2009
Loading