Skip to content
  1. Oct 26, 2007
  2. Oct 25, 2007
  3. Oct 24, 2007
  4. Oct 23, 2007
  5. Oct 17, 2007
  6. Oct 15, 2007
    • Steve Naroff's avatar
      · 32e44c00
      Steve Naroff authored
      Move type compatibility predicates from Type to ASTContext. In addition, the predicates are now instance methods (they were previously static class methods on Type).
      
      This allowed me to fix the following hack from this weekend...
      
      // FIXME: Devise a way to do this without using strcmp.
      // Would like to say..."return getAsStructureType() == IdStructType;", but
      // we don't have a pointer to ASTContext.
      bool Type::isObjcIdType() const {
        if (const RecordType *RT = getAsStructureType())
          return !strcmp(RT->getDecl()->getName(), "objc_object");
        return false;
      }
      
      ...which is now...
      
      bool isObjcIdType(QualType T) const {
        return T->getAsStructureType() == IdStructType;
      }
      
      Side notes:
      
      - I had to remove a convenience function from the TypesCompatibleExpr class.
      
      int typesAreCompatible() const {return Type::typesAreCompatible(Type1,Type2);}
      
      Which required a couple clients get a little more verbose...
      
      -    Result = TCE->typesAreCompatible();
      +    Result = Ctx.typesAreCompatible(TCE->getArgType1(), TCE->getArgType2());
      
      Overall, I think this change also makes sense for a couple reasons...
      
      1) Since ASTContext vends types, it makes sense for the type compatibility API to be there.
      2) This allows the type compatibility predeciates to refer to data not strictly present in the AST (which I have found problematic on several occasions).
      
      llvm-svn: 43009
      32e44c00
    • Anders Carlsson's avatar
      Add code generation and sema checking for __builtin_va_arg. · 7e13ab88
      Anders Carlsson authored
      llvm-svn: 43006
      7e13ab88
  7. Oct 13, 2007
  8. Oct 09, 2007
  9. Oct 08, 2007
  10. Oct 07, 2007
  11. Oct 05, 2007
  12. Sep 28, 2007
  13. Sep 22, 2007
  14. Sep 16, 2007
  15. Sep 14, 2007
    • Steve Naroff's avatar
      · a23cc796
      Steve Naroff authored
      Move Decl::NextDeclarator (w/ setters/getters) down to ScopedDecl/FieldDecl.
      
      Decl is now svelte:-)
      
      llvm-svn: 41935
      a23cc796
  16. Sep 13, 2007
    • Steve Naroff's avatar
      · 9def2b15
      Steve Naroff authored
      Phase 2 of making the Decl class more lightweight...
      
      Move Identifier/Loc instance variables (and associated getters/setters) down from Decl to ScopedDecl/FieldDecl.
      
      Objc AST's can now inherit from Decl without getting instance variables and types that are C specific. For now, I am keeping NextDeclarator, since I believe it may be useful to ObjC. If not, it can be moved later.
      
      llvm-svn: 41934
      9def2b15
Loading