Skip to content
  1. Aug 26, 2008
    • Daniel Dunbar's avatar
      In incompatible pointer-typed ?: expressions, add implicit conversion · 40bf7fe2
      Daniel Dunbar authored
      of RHSs to id type instead of void* if either has Objective-C object
      type.
       - This ensures the result can still be used in normal places an
         object can be used, like a message send.
      
      Add implicit conversions for ?: applied to qualified id types to
      ensure that the RHSs are compatible. 
       - This prevents a codegen crash (creating invalid PHI nodes).
       - Again, this relates to the fact that qualified id types have no
         canonical types.
       - Note that the implicit type casted to is incorrect, however this
         doesn't currently cause problems because of the flexibility of the
         id type.
      
      Test cases for above.
      
      llvm-svn: 55346
      40bf7fe2
  2. Aug 22, 2008
    • Eli Friedman's avatar
      Rewrite type compatibility testing to do type merging rather than just · 47f7711e
      Eli Friedman authored
      testing compatibility.  This is necessary for some constructs, like merging
      redeclarations.
      
      Also, there are some ObjC changes to make sure that 
      typesAreCompatible(a,b) == typesAreCompatible(b,a).  I don't have any 
      ObjC code beyond the testsuite, so please tell me if there are any cases 
      where this doesn't behave as expected.
      
      llvm-svn: 55158
      47f7711e
  3. Aug 21, 2008
  4. Aug 20, 2008
    • Daniel Dunbar's avatar
      Fix subtle bug introduced in r54852. · 94834d88
      Daniel Dunbar authored
       - UsualUnaryConversions takes an Expr *& and may modify its argument,
         this broke when it was refactored into Sema::CheckCastTypes. This
         meant that we were missing implicit casts in some places.
       - Seems pretty sad that this got through our tests.
      
      llvm-svn: 55039
      94834d88
  5. Aug 19, 2008
  6. Aug 16, 2008
  7. Aug 15, 2008
    • Daniel Dunbar's avatar
      Change Parser & Sema to use interned "super" for comparions. · 12c9ddce
      Daniel Dunbar authored
       - Added as private members for each because it is not clear where to
         put the common definition. Perhaps the IdentifierInfos all of these
         "pseudo-keywords" should be collected into one place (this would
         KnownFunctionIDs and Objective-C property IDs, for example).
      
      Remove Token::isNamedIdentifier.
       - There isn't a good reason to use strcmp when we have interned
         strings, and there isn't a good reason to encourage clients to do
         so.
      
      llvm-svn: 54794
      12c9ddce
  8. Aug 14, 2008
  9. Aug 11, 2008
    • Daniel Dunbar's avatar
      More #include cleaning · 56fdb6ae
      Daniel Dunbar authored
       - Kill unnecessary #includes in .cpp files. This is an automatic
         sweep so some things removed are actually used, but happen to be
         included by a previous header. I tried to get rid of the obvious
         examples and this was the easiest way to trim the #includes in one
         fell swoop.
       - We now return to regularly scheduled development.
      
      llvm-svn: 54632
      56fdb6ae
    • Daniel Dunbar's avatar
      More #include cleaning · 6e8aa537
      Daniel Dunbar authored
       - Drop {Decl.h,DeclObjC.h,IdentifierTable.h} from Expr.h
       - Moved Sema::getCurMethodDecl() out of line (dependent on
         ObjCMethodDecl via dyn_cast).
      
      llvm-svn: 54629
      6e8aa537
    • Daniel Dunbar's avatar
      More #include cleaning · c74b5cc2
      Daniel Dunbar authored
       - Drop Diagnostic.h from DeclSpec.h, move utility Diag methods into
         implementation .cpp
      
      llvm-svn: 54626
      c74b5cc2
  10. Aug 10, 2008
  11. Aug 09, 2008
  12. Aug 04, 2008
    • Daniel Dunbar's avatar
      Fix several issues in checking of address-of expressions. · b692ef40
      Daniel Dunbar authored
       - clang was erroneously accepting address-of applied to lvalue
         expressions involving pointer arithmetic.
       - clang was erroneously rejecting address-of applied to deref
         expressions of pointer-typed variables.
       - Improved existing test case.
       - Fixes: <rdar://problem/6113867>, <rdar://problem/6080158>
      
      llvm-svn: 54326
      b692ef40
    • Daniel Dunbar's avatar
      Add CodeGen support for indirect goto. · 88402ce8
      Daniel Dunbar authored
       - Follows emission scheme used by llvm-gcc, i.e. invent an id for
         each label whose address is taken and replace each indirect goto by
         a switch to each possible target.
       - Currently we emit a switch for each indirect goto instead of
         merging them as llvm-gcc does.
      
      llvm-svn: 54318
      88402ce8
    • Chris Lattner's avatar
      · 7adf0760
      Chris Lattner authored
      Finally fix PR2189.  This makes a fairly invasive but important change to
      move getAsArrayType into ASTContext instead of being a method on type.
      This is required because getAsArrayType(const AT), where AT is a typedef
      for "int[10]" needs to return ArrayType(const int, 10).
      
      Fixing this greatly simplifies getArrayDecayedType, which is a good sign.
      
      llvm-svn: 54317
      7adf0760
  13. Jul 27, 2008
  14. Jul 26, 2008
  15. Jul 25, 2008
  16. Jul 21, 2008
  17. Jul 14, 2008
    • Nate Begeman's avatar
      http://llvm.org/bugs/show_bug.cgi?id=2523 · 191a6b1f
      Nate Begeman authored
      Add some code to handle vector comparisons, which is the language side
      of the llvm vicmp/vfcmp instructions.  Also make the vector-vector and
      vector-scalar asign checks a bit more sane under the presence of lax vector
      conversions.
      
      llvm-svn: 53565
      191a6b1f
Loading