Skip to content
  1. Mar 13, 2009
    • Chris Lattner's avatar
      wire up a new -fno-builtin option, make it control things like simplifylibcalls, · c890aa28
      Chris Lattner authored
      etc and make freestanding imply it.
      
      llvm-svn: 66972
      c890aa28
    • Douglas Gregor's avatar
      Implement template instantiation for several more kinds of expressions: · 0950e41b
      Douglas Gregor authored
        - C++ function casts, e.g., T(foo)
        - sizeof(), alignof()
      
      More importantly, this allows us to verify that we're performing
      overload resolution during template instantiation, with
      argument-dependent lookup and the "cached" results of name lookup from
      the template definition.
      
      llvm-svn: 66947
      0950e41b
    • Douglas Gregor's avatar
      Refactor the way we handle operator overloading and template · 1baf54e1
      Douglas Gregor authored
      instantiation for binary operators. This change moves most of the
      operator-overloading code from the parser action ActOnBinOp to a new,
      parser-independent semantic checking routine CreateOverloadedBinOp. 
      
      Of particular importance is the fact that CreateOverloadedBinOp does
      *not* perform any name lookup based on the current parsing context (it
      doesn't take a Scope*), since it has to be usable during template
      instantiation, when there is no scope information. Rather, it takes a
      pre-computed set of functions that are visible from the context or via
      argument-dependent lookup, and adds to that set any member operators
      and built-in operator candidates. The set of functions is computed in
      the parser action ActOnBinOp based on the current context (both
      operator name lookup and argument-dependent lookup). Within a
      template, the set computed by ActOnBinOp is saved within the
      type-dependent AST node and is augmented with the results of
      argument-dependent name lookup at instantiation time (see
      TemplateExprInstantiator::VisitCXXOperatorCallExpr).
      
      Sadly, we can't fully test this yet. I'll follow up with template
      instantiation for sizeof so that the real fun can begin.
      
      llvm-svn: 66923
      1baf54e1
    • Chris Lattner's avatar
      add a helper function to strip noop casts. · ef26c77c
      Chris Lattner authored
      llvm-svn: 66909
      ef26c77c
    • Steve Naroff's avatar
      Fix <rdar://problem/6675489> BlockDecl should not use llvm::smallvector. · c4b30e59
      Steve Naroff authored
      Also changed BlockDecl API to be more consistent (wrt FunctionDecl).
      
      llvm-svn: 66904
      c4b30e59
  2. Mar 12, 2009
  3. Mar 11, 2009
  4. Mar 10, 2009
  5. Mar 05, 2009
  6. Mar 04, 2009
  7. Mar 03, 2009
  8. Mar 02, 2009
  9. Mar 01, 2009
  10. Feb 28, 2009
    • Chris Lattner's avatar
      "This patch addresses two FIXME on ObjCCategoryImplDecl: · a9ca0529
      Chris Lattner authored
      /// FIXME: Like ObjCImplementationDecl, this should not be a NamedDecl!
      /// FIXME: Introduce a new common base class for ObjCImplementationDecl and ObjCCategoryImplDecl
      
      It adds an IndentifierInfo ivar to the ObjCCategoryImplDecl, so it can inherits from Decl and not NamedDecl (I'm not sure about the memory management of this ivar).
      
      And now that both ObjCImplementationDecl and ObjCCategoryImplDecl have the same super classes, it allow creation of a common base class:  ObjCImplDecl"
      
      Patch by Jean-Daniel Dupas!
      
      llvm-svn: 65703
      a9ca0529
    • Eli Friedman's avatar
      Fix obvious shortcoming in the implementations of Evaluate for · a1c7b6c5
      Eli Friedman authored
      integer __real__ and __imag__.  Not sure how I missed this.
      
      llvm-svn: 65677
      a1c7b6c5
    • Douglas Gregor's avatar
      Eliminate CXXRecordType · 89ee6822
      Douglas Gregor authored
      llvm-svn: 65671
      89ee6822
Loading