Skip to content
  1. Aug 23, 2008
  2. Aug 22, 2008
    • Argyrios Kyrtzidis's avatar
      Add support for C++'s "type-specifier ( expression-list )" expression: · 857fcc2f
      Argyrios Kyrtzidis authored
      -The Parser calls a new "ActOnCXXTypeConstructExpr" action.
      -Sema, depending on the type and expressions number:
         -If the type is a class, it will treat it as a class constructor. [TODO]
         -If there's only one expression (i.e. "int(0.5)" ), creates a new "CXXFunctionalCastExpr" Expr node
         -If there are no expressions (i.e "int()" ), creates a new "CXXZeroInitValueExpr" Expr node.
      
      llvm-svn: 55177
      857fcc2f
  3. Aug 19, 2008
  4. Aug 14, 2008
  5. 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 · 221fa94e
      Daniel Dunbar authored
       - Drop Expr.h,RecordLayout.h from ASTContext.h (for DeclBase.h and
         SourceLocation.h)
       - Move ASTContext constructor into implementation
      
      llvm-svn: 54627
      221fa94e
  6. Aug 10, 2008
  7. Aug 04, 2008
    • 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
  8. Jul 26, 2008
  9. Jul 25, 2008
  10. Jul 24, 2008
  11. Jul 08, 2008
  12. Jul 07, 2008
  13. Jul 03, 2008
  14. Jul 01, 2008
  15. Jun 24, 2008
    • Ted Kremenek's avatar
      ObjCMessageExpr objects that represent messages to class methods now can... · a3a37ae8
      Ted Kremenek authored
      ObjCMessageExpr objects that represent messages to class methods now can contain the ObjCInterfaceDecl* of the target class if it was available when the ObjCMessageExpr object was constructed.  The original interfaces of the class has been preserved (requiring no functionality changes from clients), but now a "getClasSInfo" method returns both the ObjCInterfaceDecl* and IdentifierInfo* of the target class.
      
      llvm-svn: 52676
      a3a37ae8
  16. Jun 17, 2008
    • Chris Lattner's avatar
      Change self/_cmd to be instances of ImplicitParamDecl instead of ParmVarDecl. · 5696e7ba
      Chris Lattner authored
      Patch by David Chisnall!
      
      llvm-svn: 52422
      5696e7ba
    • Ted Kremenek's avatar
      This patch is motivated by numerous strict-aliasing warnings when compiling · 08e17118
      Ted Kremenek authored
      clang as a Release build.
      
      The big change is that all AST nodes (subclasses of Stmt) whose children are
      Expr* store their children as Stmt* or arrays of Stmt*. This is to remove
      strict-aliasing warnings when using StmtIterator. None of the interfaces of any
      of the classes have changed (except those with arg_iterators, see below), as the
      accessor methods introduce the needed casts (via cast<>). While this extra
      casting may seem cumbersome, it actually adds some important sanity checks
      throughout the codebase, as clients using StmtIterator can potentially overwrite
      children that are expected to be Expr* with Stmt* (that aren't Expr*). The casts
      provide extra sanity checks that are operational in debug builds to catch
      invariant violations such as these.
      
      For classes that have arg_iterators (e.g., CallExpr), the definition of
      arg_iterator has been replaced. Instead of it being Expr**, it is an actual
      class (called ExprIterator) that wraps a Stmt**, and provides the necessary
      operators for iteration. The nice thing about this class is that it also uses
      cast<> to type-checking, which introduces extra sanity checks throughout the
      codebase that are useful for debugging.
      
      A few of the CodeGen functions that use arg_iterator (especially from
      OverloadExpr) have been modified to take begin and end iterators instead of a
      base Expr** and the number of arguments. This matches more with the abstraction
      of iteration. This still needs to be cleaned up a little bit, as clients expect
      that ExprIterator is a RandomAccessIterator (which we may or may not wish to
      allow for efficiency of representation).
      
      This is a fairly large patch. It passes the tests (except CodeGen/bitfield.c,
      which was already broken) on both a Debug and Release build, but it should
      obviously be reviewed.
      
      llvm-svn: 52378
      08e17118
  17. Jun 08, 2008
  18. Jun 04, 2008
  19. Jun 03, 2008
  20. May 31, 2008
  21. May 30, 2008
  22. May 29, 2008
  23. May 27, 2008
  24. May 22, 2008
    • Dan Gohman's avatar
      Move getAccessedFieldNo out of lib/AST/Expr.cpp into · 75d69da5
      Dan Gohman authored
      lib/CodeGen/CGExpr.cpp and to change include/clang/AST/Attr.h to
      use its own enum for visibility types instead of using
      llvm::GlobalValue::VisibilityTypes. These changes eliminate
      dependencies in the AST library on LLVM's VMCore library.
      
      llvm-svn: 51398
      75d69da5
  25. May 21, 2008
  26. May 19, 2008
  27. May 16, 2008
  28. May 15, 2008
  29. May 14, 2008
Loading