Skip to content
  1. Apr 01, 2009
  2. Mar 28, 2009
    • Eli Friedman's avatar
      Trivial cleanup. · 754d5ac6
      Eli Friedman authored
      llvm-svn: 67899
      754d5ac6
    • Eli Friedman's avatar
      Misc small fixes/cleanups/comment changes. · e381f7e3
      Eli Friedman authored
      llvm-svn: 67895
      e381f7e3
    • Eli Friedman's avatar
      Change compound assignment operators to keep track of both the promoted · 8b7b1b1a
      Eli Friedman authored
      LHS type and the computation result type; this encodes information into 
      the AST which is otherwise non-obvious.  Fix Sema to always come up with the 
      right answer for both of these types.  Fix IRGen and the analyzer to 
      account for these changes.  This fixes PR2601.  The approach is inspired 
      by PR2601 comment 2.
      
      Note that this changes real *= complex in CodeGen from a silent 
      miscompilation to an explicit error.
      
      I'm not really sure that the analyzer changes are correct, or how to 
      test them... someone more familiar with the analyzer should check those 
      changes.
      
      llvm-svn: 67889
      8b7b1b1a
  3. Mar 23, 2009
  4. Mar 18, 2009
  5. Mar 17, 2009
  6. Mar 07, 2009
  7. Mar 04, 2009
  8. Feb 28, 2009
  9. Feb 27, 2009
  10. Feb 26, 2009
  11. Feb 24, 2009
  12. Feb 22, 2009
  13. Feb 21, 2009
  14. Feb 19, 2009
  15. Feb 18, 2009
  16. Feb 14, 2009
  17. Feb 13, 2009
  18. Feb 12, 2009
  19. Feb 11, 2009
  20. Feb 05, 2009
  21. Jan 30, 2009
  22. Jan 29, 2009
    • Douglas Gregor's avatar
      Make CodeGen produce an error if we come across a non-constant initializer... · bf7207a1
      Douglas Gregor authored
      Make CodeGen produce an error if we come across a non-constant initializer list that involves the GNU array-range designator extension
      
      llvm-svn: 63327
      bf7207a1
    • Douglas Gregor's avatar
      Introduce a new expression node, ImplicitValueInitExpr, that · 0202cb40
      Douglas Gregor authored
      represents an implicit value-initialization of a subobject of a
      particular type. This replaces the (ab)use of CXXZeroValueInitExpr
      within initializer lists for the "holes" that occur due to the use of
      C99 designated initializers.
      
      The new test case is currently XFAIL'd, because CodeGen's
      ConstExprEmitter (in lib/CodeGen/CGExprConstant.cpp) needs to be
      taught to value-initialize when it sees ImplicitValueInitExprs.
      
      llvm-svn: 63317
      0202cb40
  23. Jan 28, 2009
    • Douglas Gregor's avatar
      Code generation support for C99 designated initializers. · 347f7eab
      Douglas Gregor authored
      The approach I've taken in this patch is relatively straightforward,
      although the code itself is non-trivial. Essentially, as we process
      an initializer list we build up a fully-explicit representation of the
      initializer list, where each of the subobject initializations occurs
      in order. Designators serve to "fill in" subobject initializations in
      a non-linear way. The fully-explicit representation makes initializer
      lists (both with and without designators) easy to grok for codegen and
      later semantic analyses. We keep the syntactic form of the initializer
      list linked into the AST for those clients interested in exactly what
      the user wrote.
      
      Known limitations:
        - Designating a member of a union that isn't the first member may
          result in bogus initialization (we warn about this)
        - GNU array-range designators are not supported (we warn about this)
      
      llvm-svn: 63242
      347f7eab
  24. Jan 24, 2009
  25. Jan 23, 2009
  26. Jan 20, 2009
  27. Jan 18, 2009
  28. Jan 16, 2009
Loading