Skip to content
  1. Mar 17, 2009
    • Douglas Gregor's avatar
      Build system changes to use TableGen to generate the various · 23d75bb3
      Douglas Gregor authored
      diagnostics. This builds on the patch that Sebastian committed and
      then revert. Major differences are:
      
        - We don't remove or use the current ".def" files. Instead, for now,
          we just make sure that we're building the ".inc" files.
        - Fixed CMake makefiles to run TableGen and build the ".inc" files
          when needed. Tested with both the Xcode and Makefile generators
          provided by CMake, so it should be solid.
        - Fixed normal makefiles to handle out-of-source builds that involve
          the ".inc" files.
      
      I'll send a separate patch to the list with Sebastian's changes that
      eliminate the use of the .def files.
      
      llvm-svn: 67058
      23d75bb3
  2. Mar 15, 2009
  3. Mar 14, 2009
  4. 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
  5. Mar 12, 2009
  6. Mar 11, 2009
  7. Mar 10, 2009
  8. Mar 05, 2009
  9. Mar 04, 2009
  10. Mar 03, 2009
Loading