Skip to content
  1. Apr 17, 2008
    • Argyrios Kyrtzidis's avatar
      Addition of TranslationUnitDecl to the AST: · c3b69ae8
      Argyrios Kyrtzidis authored
      -Added TranslationUnitDecl class to serve as top declaration context
      -ASTContext gets a TUDecl member and a getTranslationUnitDecl() function
      -All ScopedDecls get the TUDecl as DeclContext when declared at global scope
      
      llvm-svn: 49855
      c3b69ae8
  2. Apr 12, 2008
  3. Apr 11, 2008
  4. Apr 06, 2008
    • Chris Lattner's avatar
      This patch contains these changes: · 0a5ff0d3
      Chris Lattner authored
      -Renamed ContextDecl -> DeclContext
      -Removed DeclContext pointer from FieldDecl
      -EnumDecl inherits from DeclContext, instead of TagDecl
      
      Patch by Argiris Kirtzidis!
      
      llvm-svn: 49261
      0a5ff0d3
  5. Apr 04, 2008
    • Chris Lattner's avatar
      Introduce ContextDecl, patch by Argiris Kirtzidis! · c5ffed4a
      Chris Lattner authored
      -Added ContextDecl (no TranslationUnitDecl)
      -ScopedDecl class has a ContextDecl member
      -FieldDecl class has a ContextDecl member, so that a Field or a ObjCIvar can be traced back to their RecordDecl/ObjCInterfaceDecl easily
      -FunctionDecl, ObjCMethodDecl, TagDecl, ObjCInterfaceDecl inherit from ContextDecl. With TagDecl as ContextDecl, enum constants have a EnumDecl as their context.
      -Moved Decl class to a "DeclBase.h" along with ContextDecl class
      -CurContext is handled by Sema
      
      llvm-svn: 49208
      c5ffed4a
  6. Mar 16, 2008
  7. Mar 15, 2008
  8. Feb 24, 2008
  9. Feb 13, 2008
  10. Feb 06, 2008
  11. Jan 16, 2008
  12. Jan 07, 2008
  13. Jan 04, 2008
  14. Dec 29, 2007
  15. Dec 12, 2007
    • Ted Kremenek's avatar
      TargetInfo no longer includes a reference to SourceManager. · 1daa3cfb
      Ted Kremenek authored
      Moved all clients of Diagnostics to use FullSourceLoc instead of SourceLocation.
      Added many utility methods to FullSourceLoc to provide shorthand for:
      
          FullLoc.getManager().someMethod(FullLoc.getLocation());
          
      instead we have:
      
          FullLoc.someMethod();
          
      Modified TextDiagnostics (and related classes) to use this short-hand.
      
      llvm-svn: 44957
      1daa3cfb
  16. Dec 11, 2007
    • Ted Kremenek's avatar
      Mega-patch: ripped SourceManager out of Diagnostic/DiagnosticClient. Now · d4e5fbac
      Ted Kremenek authored
      SourceManager is passed by reference, allowing the SourceManager to be
      associated with a specific translation unit, and not the entire execution
      of the driver.
      
      Modified all users of Diagnostics to comply with this new interface.
      
      Integrated SourceManager as a member variable of TargetInfo. TargetInfo will
      eventually be associated with a single translation unit (just like
      SourceManager).
      
      Made the SourceManager reference in ASTContext private. Provided accessor
      getSourceManager() for clients to use instead. Modified clients to comply with
      new interface.
      
      llvm-svn: 44878
      d4e5fbac
  17. Dec 07, 2007
  18. Nov 30, 2007
    • Anders Carlsson's avatar
      Initialize CurMethodDecl to 0. · 3b754452
      Anders Carlsson authored
      llvm-svn: 44463
      3b754452
    • Steve Naroff's avatar
      · 205ec3d0
      Steve Naroff authored
      Yesterday, I simplified how we stream top-level decls.
      
      After a discussion with Ted, we both came to the conclusion that adding a "HandleTopLevelDeclaration" hook to ASConsumer is far more elegant. The default implementation of HandleTopLevelDeclaration will be responsible for iterating over the ScopedDecl (which has a chain of the decls:-).
      
      TODO: Once Ted adds HandleTopLevelDeclaration, make sure TagDecls are chainged appropriately...
      llvm-svn: 44445
      205ec3d0
  19. Nov 28, 2007
    • Steve Naroff's avatar
      · 197616c3
      Steve Naroff authored
      Several fixes/simplifications surrounding how we stream top-level decl AST's.
      
      The following code...
      
      typedef struct cssm_data {} CSSM_DATA, *CSSM_DATA_PTR;
      
      struct Y { int A; };
      
      struct X { int A; } D; 
      
      struct X E, F;
      
      ...now produces the following output...
      
      > ../../Debug/bin/clang xx.c -ast-print
      Read top-level tag decl: 'cssm_data'
      typedef struct cssm_data CSSM_DATA;
      typedef struct cssm_data *CSSM_DATA_PTR;
      Read top-level tag decl: 'Y'
      Read top-level tag decl: 'X'
      Read top-level variable decl: 'D'
      Read top-level variable decl: 'E'
      Read top-level variable decl: 'F'
      
      ...which is much more accurate than the previous -ast-print output...
      
      typedef struct cssm_data CSSM_DATA;
      typedef struct cssm_data CSSM_DATA;
      Read top-level variable decl: 'D'
      Read top-level variable decl: 'E'
      Read top-level variable decl: 'E'
      
      llvm-svn: 44421
      197616c3
  20. Oct 31, 2007
    • Steve Naroff's avatar
      · 6d40db0d
      Steve Naroff authored
      Implement a more sensible strategy for ObjC built-in types (addressing a long standing FIXME in Sema::GetObjcIdType()).
      
      This removes several gross hacks to work around the previous "lazy" behavior.
      
      Two notes:
      - MinimalActions still needs to be taught about the built-in types (This breaks one of the -noop test cases). I started this, then added a FIXME.
      - I didn't convert Sema::GetObjcProtoType() yet.
      
      llvm-svn: 43567
      6d40db0d
    • Anders Carlsson's avatar
      Encode Class, SEL and Objective-C objects. · f56a7aee
      Anders Carlsson authored
      llvm-svn: 43540
      f56a7aee
  21. Oct 30, 2007
  22. Oct 17, 2007
  23. Oct 16, 2007
  24. Oct 15, 2007
    • Steve Naroff's avatar
      · 66e9f331
      Steve Naroff authored
      Added ASTContext::setObjcIdType/getObjcIdType(), set by Sema.
      
      Also noticed ASTContext::BuiltinVaListType wasn't being initialized to the null type (so I set it).
      
      llvm-svn: 42983
      66e9f331
  25. Oct 11, 2007
    • Steve Naroff's avatar
      Refinements to Sema::GetObjcIdType()... · 783a7a06
      Steve Naroff authored
      - Cache the typedef, not the type (avoids importing AST/Type.h).
      - Emit an error if "id" cannot be found.
      - Comment the routine and add a FIXME to reconsider how we emulate GCC's new fangled behavior. This isn't a priority for now, since almost no code depends on having "id" built-in.
      - Add a test.
      
      llvm-svn: 42845
      783a7a06
  26. Oct 10, 2007
    • Steve Naroff's avatar
      · 7f549f18
      Steve Naroff authored
      - Make sure default return/argument types (for methods) default to "id".
      - Cache the "id" type in Sema...initialize ObjcIdType and TUScope (oops).
      - Fix ActOnInstanceMessage to allow for "id" type receivers...still work to do (next).
      
      llvm-svn: 42842
      7f549f18
    • Steve Naroff's avatar
      · c62adb6d
      Steve Naroff authored
      Make sure methods with no return type default to "id".
      
      This fixes a crasher in Sema::MatchTwoMethodDeclarations(), identified by selector-overload.m (just added).
      
      Added Action::ActOnTranslationUnitScope() and renamed Action::PopScope to ActOnPopScope.
      
      Added a Translation Unit Scope instance variable to Sema (will be very useful to ObjC-related actions, since ObjC declarations are always file-scoped).
      
      llvm-svn: 42817
      c62adb6d
  27. Aug 31, 2007
  28. Aug 10, 2007
  29. Jun 16, 2007
    • Chris Lattner's avatar
      Finally bite the bullet and make the major change: split the clang namespace · 23b7eb67
      Chris Lattner authored
      out of the llvm namespace.  This makes the clang namespace be a sibling of
      llvm instead of being a child.
      
      The good thing about this is that it makes many things unambiguous.  The
      bad things is that many things in the llvm namespace (notably data structures
      like smallvector) now require an llvm:: qualifier.  IMO, libsystem and libsupport
      should be split out of llvm into their own namespace in the future, which will fix
      this issue.
      
      llvm-svn: 39659
      23b7eb67
  30. May 19, 2007
    • Steve Naroff's avatar
      Bug #: · 71ce2e06
      Steve Naroff authored
      Submitted by:
      Reviewed by:
      An important, but truly mind numbing change.
      
      Added 6 flavors of Sema::Diag() that take 1 or two SourceRanges. Considered
      adding 3 flavors (using default args), however this wasn't as clear.
      
      Removed 2 flavors of Sema::Diag() that took LexerToken's (they weren't used).
      
      Changed all the typechecking routines to pass the appropriate range(s).
      
      Hacked the diagnostic machinery and driver to acccommodate the new data.
      
      What's left? A FIXME in clang.c to use the ranges. Chris offered to do the
      honors:-) Which includes taking us to the end of an identifier:-)
      
      llvm-svn: 39456
      71ce2e06
Loading