Skip to content
  1. Nov 04, 2008
  2. Nov 03, 2008
  3. Oct 31, 2008
  4. Oct 30, 2008
  5. Oct 29, 2008
    • Douglas Gregor's avatar
      Implement overloading rules for reference binding · ef30a5ff
      Douglas Gregor authored
      llvm-svn: 58381
      ef30a5ff
    • Douglas Gregor's avatar
      Tweak Sema::CheckReferenceInit so that it (optionally) computes an · 786ab211
      Douglas Gregor authored
      ImplicitConversionSequence and, when doing so, following the specific
      rules of [over.best.ics]. 
      
      The computation of the implicit conversion sequences implements C++
      [over.ics.ref], but we do not (yet) have ranking for implicit
      conversion sequences that use reference binding.
      
      llvm-svn: 58357
      786ab211
    • 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
  6. Oct 23, 2008
  7. Oct 22, 2008
  8. Oct 21, 2008
  9. Oct 15, 2008
    • Argyrios Kyrtzidis's avatar
      Fix this bug: · 2e3e7563
      Argyrios Kyrtzidis authored
      typedef int f();
      struct S {
         f *x; // incorrectly assuming this is function decl, leading to failed assertions.
      };
      
      llvm-svn: 57598
      2e3e7563
  10. Oct 14, 2008
  11. Oct 09, 2008
    • Argyrios Kyrtzidis's avatar
      Fix a bug that crashed clang when parsing this: · 1207d319
      Argyrios Kyrtzidis authored
      class C {
        static const int number = 50;
        static int arr[number];
      };
      
      Here's how it worked:
      -GetTypeForDeclarator was called from both Sema::ActOnCXXMemberDeclarator and Sema::ActOnDeclarator.
      -VariableArrayTypes are not uniqued so two VariableArrayTypes were created with the same DeclRefExpr.
      -On exit they both tried to destroy that one DeclRefExpr.
      
      The fix is not to use GetTypeForDeclarator from the Sema::ActOnCXXMemberDeclarator.
      
      llvm-svn: 57313
      1207d319
  12. Oct 07, 2008
    • Argyrios Kyrtzidis's avatar
      Simplify handling of direct initializers by letting Sema::AddInitializerToDecl... · 997d00dd
      Argyrios Kyrtzidis authored
      Simplify handling of direct initializers by letting Sema::AddInitializerToDecl handle conversions, instead of using Sema::ActOnCXXTypeConstructExpr.
      Additional benefit is that diagnostics are the same for both direct-initialization and copy-initialization.
      
      In the case of "int x( expression );":
      -The Init expression of VarDecl 'x' will be the expression inside the parentheses.
      -VarDecl::hasCXXDirectInitializer for VarDecl 'x' will return true to let clients distinguish from "int x = expression ;".
      
      llvm-svn: 57219
      997d00dd
  13. Oct 06, 2008
  14. Oct 03, 2008
  15. Sep 10, 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
      Minor #include cleaning · 34fb6727
      Daniel Dunbar authored
       - Drop TokenKinds.h from Action.h
       - Move DeclSpec.h from Sema.h into individual Sema .cpp files
      
      llvm-svn: 54625
      34fb6727
  17. Aug 09, 2008
  18. Aug 05, 2008
  19. Aug 01, 2008
  20. Jul 27, 2008
  21. Jul 01, 2008
  22. Jun 10, 2008
    • Argyrios Kyrtzidis's avatar
      -Changes to TagDecl: · 554a07ba
      Argyrios Kyrtzidis authored
        Added TagKind enum.
        Added getTagKind() method.
        Added convenience methods: isEnum(), isStruct(), isUnion(), isClass().
      -RecordDecl/CXXRecordDecl::Create() accept a TagKind enum instead of a DeclKind one.
      
      llvm-svn: 52160
      554a07ba
  23. Jun 06, 2008
  24. May 29, 2008
Loading