Skip to content
  1. Feb 18, 2009
  2. Feb 11, 2009
  3. Jan 29, 2009
  4. 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
  5. Jan 27, 2009
  6. Jan 25, 2009
  7. Jan 15, 2009
  8. Jan 09, 2009
  9. Dec 11, 2008
    • Douglas Gregor's avatar
      Unifies the name-lookup mechanisms used in various parts of the AST · 91f84216
      Douglas Gregor authored
      and separates lexical name lookup from qualified name lookup. In
      particular:
        * Make DeclContext the central data structure for storing and
          looking up declarations within existing declarations, e.g., members
          of structs/unions/classes, enumerators in C++0x enums, members of
          C++ namespaces, and (later) members of Objective-C
          interfaces/implementations. DeclContext uses a lazily-constructed
          data structure optimized for fast lookup (array for small contexts,
          hash table for larger contexts). 
      
        * Implement C++ qualified name lookup in terms of lookup into
          DeclContext.
      
        * Implement C++ unqualified name lookup in terms of
          qualified+unqualified name lookup (since unqualified lookup is not
          purely lexical in C++!)
      
        * Limit the use of the chains of declarations stored in
          IdentifierInfo to those names declared lexically.
      
        * Eliminate CXXFieldDecl, collapsing its behavior into
          FieldDecl. (FieldDecl is now a ScopedDecl).
      
        * Make RecordDecl into a DeclContext and eliminates its
          Members/NumMembers fields (since one can just iterate through the
          DeclContext to get the fields).
      
      llvm-svn: 60878
      91f84216
  10. Dec 02, 2008
  11. Nov 30, 2008
  12. Nov 22, 2008
  13. Nov 21, 2008
  14. Nov 13, 2008
    • Daniel Dunbar's avatar
      Normalize many BasicBlock names. · a612e79b
      Daniel Dunbar authored
       - Use dotted notation for blocks related to a particular statement
         type.
       - Use .end for landing pads.
      
      No functionality change in NDEBUG mode. :)
      
      llvm-svn: 59210
      a612e79b
  15. Nov 11, 2008
  16. Nov 04, 2008
  17. Nov 01, 2008
  18. Oct 27, 2008
  19. Sep 09, 2008
  20. Aug 30, 2008
    • Anders Carlsson's avatar
      Stub out CodeGenFunction::EmitObjCForCollectionStmt. · 2e744e8a
      Anders Carlsson authored
      Add CodeGenFunction::EmitMemSetToZero and make AggExprEmitter::EmitAggregateClear use it.
      
      llvm-svn: 55573
      2e744e8a
    • Anders Carlsson's avatar
      Simplify some calls to Builder.CreateCall · 7e1e5710
      Anders Carlsson authored
      llvm-svn: 55567
      7e1e5710
    • Daniel Dunbar's avatar
      Add Objective-C property setter support. · 4b8c6db9
      Daniel Dunbar authored
       - Change Obj-C runtime message API, drop the ObjCMessageExpr arg in
         favor of just result type and selector. Necessary so it can be
         reused in situations where we don't want to cons up an
         ObjCMessageExpr.
       - Update aggregate binary assignment to know about special property
         ref lvalues.
       - Add CodeGenFunction::EmitCallArg overload which takes an already
         emitted rvalue.
      
      Add CodeGenFunction::StoreComplexIntoAddr.
      
      Disabled logic in Sema for parsing Objective-C dot-syntax that
      accesses methods. This code does not search in the correct order and
      the AST node has no way of properly representing its results.
      
      Updated StmtDumper to print a bit more information about
      ObjCPropertyRefExprs.
      
      llvm-svn: 55561
      4b8c6db9
  21. Aug 27, 2008
  22. Aug 23, 2008
    • Daniel Dunbar's avatar
      Drop a dead call to isConstantExpr() · 28ff072b
      Daniel Dunbar authored
      llvm-svn: 55244
      28ff072b
    • Daniel Dunbar's avatar
      Implement Obj-C ivar references to aggregates. · c8317a44
      Daniel Dunbar authored
      Implement Obj-C lvalue message sends (aggregate returns).
      
      Update several places to emit more precise ErrorUnsupported warnings
        for currently unimplemented Obj-C features (main missing chunks are
        property references, Obj-C exception handling, and the for ... in
        syntax).
      
      llvm-svn: 55234
      c8317a44
    • Daniel Dunbar's avatar
      Trim CGObjCRuntime::GenerateMessageSend[Super] · 97db84ce
      Daniel Dunbar authored
       - Returns an RValue.
       - Reduced to only taking the CodeGenFunction, Expr, and Receiver.
       - Becomes responsible for emitting the arguments.
      
      Add CodeGenFunction::EmitCallExprExt
       - Takes optional extra arguments to insert at the head of the call.
       - This allows the Obj-C runtimes to call into this and isolates the
         argument and call instruction generation code to one place. Upshot
         is that we now pass structures (more) correctly.
      
      Also, fix one aspect of generating methods which take structure
      arguments (for NeXT). This probably needs to be merged with the
      SetFunctionAttributes code in CodeGenModule.cpp
      
      llvm-svn: 55223
      97db84ce
  23. Aug 16, 2008
  24. Aug 11, 2008
  25. Aug 08, 2008
  26. Aug 06, 2008
  27. 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
  28. Jul 30, 2008
  29. Jul 27, 2008
Loading