Skip to content
  1. Oct 22, 2008
  2. Oct 21, 2008
  3. 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
  4. Oct 14, 2008
  5. 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
  6. 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
  7. Oct 06, 2008
  8. Oct 03, 2008
  9. Sep 10, 2008
  10. 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
  11. Aug 09, 2008
  12. Aug 05, 2008
  13. Aug 01, 2008
  14. Jul 27, 2008
  15. Jul 01, 2008
  16. 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
  17. Jun 06, 2008
  18. May 29, 2008
  19. May 10, 2008
    • Argyrios Kyrtzidis's avatar
      -Implement proper name lookup for namespaces. · fa8e15bf
      Argyrios Kyrtzidis authored
      -identifierResolver exposes an iterator interface to get all decls through the scope chain.
      -The semantic staff (checking IdentifierNamespace and Doug's checking for shadowed tags were moved out of IdentifierResolver and back into Sema. IdentifierResolver just gives an iterator for all reachable decls of an identifier.
      
      llvm-svn: 50923
      fa8e15bf
  20. May 07, 2008
  21. Apr 27, 2008
    • Argyrios Kyrtzidis's avatar
      Parsing of namespaces: · 08114898
      Argyrios Kyrtzidis authored
      -NamespaceDecl for the AST
      -Checks for name clashes between namespaces and tag/normal declarations.
      
      This commit doesn't implement proper name lookup for namespaces.
      
      llvm-svn: 50321
      08114898
  22. Apr 16, 2008
    • Steve Naroff's avatar
      Remove FileVarDecl and BlockVarDecl. They are replaced by... · 08899ff8
      Steve Naroff authored
      Remove FileVarDecl and BlockVarDecl. They are replaced by VarDecl::isBlockVarDecl() and VarDecl::isFileVarDecl().
      
      This is a fairly mechanical/large change. As a result, I avoided making any changes/simplifications that weren't directly related. I did break two Analysis tests. I also have a couple FIXME's in UninitializedValues.cpp. Ted, can you take a look? If the bug isn't obvious, I am happy to dig in and fix it (since I broke it).
      
      llvm-svn: 49748
      08899ff8
  23. Apr 13, 2008
  24. Apr 10, 2008
  25. Apr 08, 2008
Loading