Skip to content
  1. Nov 24, 2008
  2. Nov 23, 2008
    • Chris Lattner's avatar
      Convert IdentifierInfo's to be printed the same as DeclarationNames · e3d20d95
      Chris Lattner authored
      with implicit quotes around them.  This has a bunch of follow-on 
      effects and requires tweaking to a whole lot of code.  This causes
      a regression in two tests (xfailed) by causing it to emit things like:
      
        Line 10: duplicate interface declaration for category 'MyClass1' ('Category1')
      
      instead of:
      
        Line 10: duplicate interface declaration for category 'MyClass1(Category1)'
      
      I will fix this in a follow-up commit.
      
      As part of this, I had to start switching stuff to use ->getDeclName() instead
      of Decl::getName() for consistency.  This is good, but I was planning to do this
      as an independent patch.  There will be several follow-on patches
      to clean up some of the mess, but this patch is already too big.
      
      llvm-svn: 59917
      e3d20d95
  3. Nov 21, 2008
  4. Nov 20, 2008
  5. Nov 19, 2008
  6. Nov 17, 2008
    • Douglas Gregor's avatar
      Updated IdentifierResolver to deal with DeclarationNames. The names of · ae2fbad3
      Douglas Gregor authored
      C++ constructors, destructors, and conversion functions now have a
      FETokenInfo field that IdentifierResolver can access, so that these
      special names are handled just like ordinary identifiers. A few other
      Sema routines now use DeclarationNames instead of IdentifierInfo*'s.
      
      To validate this design, this code also implements parsing and
      semantic analysis for id-expressions that name conversion functions,
      e.g.,
      
        return operator bool();
      
      The new parser action ActOnConversionFunctionExpr takes the result of
      parsing "operator type-id" and turning it into an expression, using
      the IdentifierResolver with the DeclarationName of the conversion
      function. ActOnDeclarator pushes those conversion function names into
      scope so that the IdentifierResolver can find them, of course.
      
      llvm-svn: 59462
      ae2fbad3
  7. Oct 29, 2008
    • Douglas Gregor's avatar
      Implement initialization of a reference (C++ [dcl.init.ref]) as part · 8e1cf608
      Douglas Gregor authored
      of copy initialization. Other pieces of the puzzle:
      
        - Try/Perform-ImplicitConversion now handles implicit conversions
          that don't involve references.
        - Try/Perform-CopyInitialization uses
          CheckSingleAssignmentConstraints for C. PerformCopyInitialization
          is now used for all argument passing and returning values from a
          function.
        - Diagnose errors with declaring references and const values without
          an initializer. (Uses a new Action callback, ActOnUninitializedDecl).
        
      We do not yet have implicit conversion sequences for reference
      binding, which means that we don't have any overloading support for
      reference parameters yet.
      
      llvm-svn: 58353
      8e1cf608
  8. Oct 28, 2008
  9. Oct 27, 2008
    • Douglas Gregor's avatar
      Refactor the expression class hierarchy for casts. Most importantly: · e200adc5
      Douglas Gregor authored
        - CastExpr is the root of all casts
        - ImplicitCastExpr is (still) used for all explicit casts
        - ExplicitCastExpr is now the root of all *explicit* casts
        - ExplicitCCastExpr (new name needed!?) is a C-style cast in C or C++
        - CXXFunctionalCastExpr inherits from ExplicitCastExpr
        - CXXNamedCastExpr inherits from ExplicitCastExpr and is the root of all
          of the C++ named cast expression types (static_cast, dynamic_cast, etc.)
        - Added classes CXXStaticCastExpr, CXXDynamicCastExpr, 
          CXXReinterpretCastExpr, and CXXConstCastExpr to 
      
      Also, fixed returned-stack-addr.cpp, which broke once when we fixed
      reinterpret_cast to diagnose double->int* conversions and again when
      we eliminated implicit conversions to reference types. The fix is in
      both testcase and SemaChecking.cpp.
      
      Most of this patch is simply support for the renaming. There's very
      little actual change in semantics.
      
      llvm-svn: 58264
      e200adc5
  10. Oct 02, 2008
  11. Sep 17, 2008
  12. Sep 10, 2008
  13. Sep 06, 2008
  14. Sep 03, 2008
  15. Aug 19, 2008
  16. 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
  17. Aug 10, 2008
  18. Aug 07, 2008
  19. Jul 27, 2008
  20. Jul 26, 2008
  21. Jul 22, 2008
  22. Jul 09, 2008
  23. Jun 30, 2008
    • Chris Lattner's avatar
      Make a few related changes: · 9a8d1d9e
      Chris Lattner authored
      1) add a new ASTContext::getFloatTypeSemantics method.
      2) Use it from SemaExpr.cpp, CodeGenTypes.cpp and other places.
      3) Change the TargetInfo.h get*Format methods to return their 
         fltSemantics byref instead of by pointer.
      4) Change CodeGenFunction::EmitBuiltinExpr to allow builtins which
         sometimes expand specially and othertimes fall back to libm.
      5) Add support for __builtin_nan("") to codegen, cases that don't pass
         in an empty string are currently lowered to libm calls.
      6) Fix codegen of __builtin_infl.
      
      llvm-svn: 52914
      9a8d1d9e
  24. Jun 28, 2008
  25. Jun 16, 2008
  26. May 20, 2008
  27. May 16, 2008
  28. May 14, 2008
  29. Mar 16, 2008
    • Chris Lattner's avatar
      Make a major restructuring of the clang tree: introduce a top-level · 7a51313d
      Chris Lattner authored
      lib dir and move all the libraries into it.  This follows the main
      llvm tree, and allows the libraries to be built in parallel.  The
      top level now enforces that all the libs are built before Driver,
      but we don't care what order the libs are built in.  This speeds
      up parallel builds, particularly incremental ones.
      
      llvm-svn: 48402
      7a51313d
  30. Mar 03, 2008
  31. Feb 13, 2008
  32. Feb 11, 2008
  33. Jan 17, 2008
Loading