Skip to content
  1. Apr 18, 2009
  2. Apr 17, 2009
    • Douglas Gregor's avatar
      Fix two embarrassing PCH bugs: · ba6e5573
      Douglas Gregor authored
        1) Accidentally used delete [] on an array of statements that was allocated with ASTContext's allocator
        2) Deserialization of names with multiple declarations (e.g., a struct and a function) used the wrong mangling constant, causing it to view declaration IDs as Decl*s.
      
      403.gcc builds and links properly.
      
      llvm-svn: 69390
      ba6e5573
    • Sebastian Redl's avatar
      Implement lvalue test for conditional expressions. · 5775af1a
      Sebastian Redl authored
      Add a few commented lines to the test case that point out things that don't work yet.
      
      llvm-svn: 69354
      5775af1a
  3. Apr 16, 2009
  4. Apr 15, 2009
  5. Mar 28, 2009
  6. Mar 23, 2009
  7. Mar 22, 2009
  8. Mar 21, 2009
  9. Mar 17, 2009
  10. Mar 15, 2009
  11. Mar 14, 2009
  12. Mar 13, 2009
    • Douglas Gregor's avatar
      Refactor the way we handle operator overloading and template · 1baf54e1
      Douglas Gregor authored
      instantiation for binary operators. This change moves most of the
      operator-overloading code from the parser action ActOnBinOp to a new,
      parser-independent semantic checking routine CreateOverloadedBinOp. 
      
      Of particular importance is the fact that CreateOverloadedBinOp does
      *not* perform any name lookup based on the current parsing context (it
      doesn't take a Scope*), since it has to be usable during template
      instantiation, when there is no scope information. Rather, it takes a
      pre-computed set of functions that are visible from the context or via
      argument-dependent lookup, and adds to that set any member operators
      and built-in operator candidates. The set of functions is computed in
      the parser action ActOnBinOp based on the current context (both
      operator name lookup and argument-dependent lookup). Within a
      template, the set computed by ActOnBinOp is saved within the
      type-dependent AST node and is augmented with the results of
      argument-dependent name lookup at instantiation time (see
      TemplateExprInstantiator::VisitCXXOperatorCallExpr).
      
      Sadly, we can't fully test this yet. I'll follow up with template
      instantiation for sizeof so that the real fun can begin.
      
      llvm-svn: 66923
      1baf54e1
    • Chris Lattner's avatar
      add a helper function to strip noop casts. · ef26c77c
      Chris Lattner authored
      llvm-svn: 66909
      ef26c77c
  13. Mar 12, 2009
  14. Mar 11, 2009
  15. Mar 04, 2009
  16. Feb 27, 2009
  17. Feb 26, 2009
    • Eli Friedman's avatar
      Rewrite of isIntegerConstantExpr to be centered around Evaluate. This · 98c56a4f
      Eli Friedman authored
      is a rather big change, but I think this is the direction we want to go; 
      the code is significantly shorter now, and it doesn't duplicate Evaluate 
      code.  There shouldn't be any visible changes as far as I know.
      
      There has been some movement towards putting ICE handling into 
      Evaluate (for example, VerifyIntegerConstantExpression uses Evaluate 
      instead of isICE).  This patch is sort of the opposite of the approach, 
      making ICE handling work without Evaluate being aware of it. I think 
      this approach is better because it separates the code that does the 
      constant evaluation from code that's calculating a rather 
      arbitrary predicate.
      
      The one thing I don't really like about this patch is that 
      the handling of commas in C99 complicates it signficantly. (Seriously, 
      what was the standards committee thinking when they wrote that 
      part?) I think I've come up with a decent approach, but it doesn't feel
      ideal.  I might add some way to check for evaluated commas from Evaluate 
      in a subsequent patch; that said, it might not be worth bothering.
      
      llvm-svn: 65524
      98c56a4f
  18. Feb 24, 2009
  19. Feb 23, 2009
  20. Feb 22, 2009
  21. Feb 20, 2009
  22. Feb 18, 2009
Loading