Skip to content
  1. Apr 07, 2008
  2. Apr 06, 2008
  3. Apr 05, 2008
  4. Apr 04, 2008
  5. Apr 03, 2008
  6. Apr 02, 2008
    • Steve Naroff's avatar
      Change ObjCInterfaceDecl to inherit from NamedDecl (not TypeDecl). While... · 77892753
      Steve Naroff authored
      Change ObjCInterfaceDecl to inherit from NamedDecl (not TypeDecl). While ObjCInterfaceDecl is arguably a TypeDecl, it isn't a ScopedDecl. Since TypeDecl's are scoped, it makes sense to simply treat them as NamedDecl's. I could have fiddled a bit more with the hierarchy (in terms of creating a non-scoped TypeDecl), however this probably isn't worth the effort. 
      
      I also finished unifying access to scope decl change by converting Sema::getObjCInterfaceDecl() to use Sema::LookupDecl(). This is much cleaner now:-)
      
      llvm-svn: 49107
      77892753
    • Chris Lattner's avatar
      simplify some code by using PointerLikeType. · 182f660d
      Chris Lattner authored
      llvm-svn: 49101
      182f660d
    • Chris Lattner's avatar
      add a common base class "PointerLikeType" for PointerType and ReferenceType, · db5f1fa3
      Chris Lattner authored
      allowing them to be treated the same in some contexts.  A suggestion for a
      better name is welcome :)
      
      llvm-svn: 49100
      db5f1fa3
    • Chris Lattner's avatar
      properly handle array decay in objc message exprs. · b1f7398b
      Chris Lattner authored
      llvm-svn: 49098
      b1f7398b
    • Steve Naroff's avatar
      · 2fc93f5c
      Steve Naroff authored
      Two changes to Sema::LookupDecl() interface. 
      (1) Remove IdLoc (it's never used). 
      (2) Add a bool to enable/disable lazy builtin creaation (defaults to true).
      
      This enables us to use LookupDecl() in Sema::isTypeName(), which is also part of this commit.
      
      To make this work, I changed isTypeName() to be a non-const member function. I'm not happy with this, however I fiddled with making LookupDecl() and friends const and it got ugly pretty quickly. We can certainly add it back if/when someone has time to fiddle with it. For now, I thought this simplification was more important than retaining the const-ness. 
      
      llvm-svn: 49087
      2fc93f5c
    • Chris Lattner's avatar
      Various parts of the standard require something to be an "incomplete or · b3a176da
      Chris Lattner authored
      object type".  Add a predicate that checks exactly this, as it is equivalent
      to checking ot see if the type is *not* a function type, which is faster
      to check.
      
      llvm-svn: 49082
      b3a176da
    • Chris Lattner's avatar
      1) Enforce C99 6.7.3p2: "Types other than pointer types derived from · daaa8ba7
      Chris Lattner authored
      object or incomplete types shall not be restrict-qualified."
      
      2) Warn about qualifiers on function types: C99 6.7.3p8: "If the 
      specification of a function type includes any type qualifiers, the 
      behavior is undefined."
      
      3) Implement restrict on C++ references.
      
      4) fix some locations for various C++ reference diagnostics.
      
      llvm-svn: 49081
      daaa8ba7
    • Chris Lattner's avatar
      Fix several bugs in array -> pointer decomposition. · a21ad805
      Chris Lattner authored
      First, we got several CVR propagation cases wrong, which Eli pointed
      out in PR2039.
      
      Second, we didn't propagate address space qualifiers correctly, leading
      to incorrect lowering of code in CodeGen/address-space.c.
      
      Third, we didn't uniformly propagate the specifier in the array to the
      pointer ("int[restrict 4]" -> "int *restrict").
      
      This adds an ASTContext::getArrayDecayedType member that handles the 
      non-trivial logic for this seemingly simple operation.
      
      llvm-svn: 49078
      a21ad805
    • Chris Lattner's avatar
      rename some variables, fix 80 col violation. No · 24d5bfe0
      Chris Lattner authored
      functionality change.
      
      llvm-svn: 49072
      24d5bfe0
    • Chris Lattner's avatar
      Fix PR2017 and silence some bogus errors. · 81cb9e86
      Chris Lattner authored
      llvm-svn: 49068
      81cb9e86
    • Steve Naroff's avatar
      Fix a comment typo and add a couple suggestions from Chris. · 9b94b178
      Steve Naroff authored
      llvm-svn: 49066
      9b94b178
    • Steve Naroff's avatar
      Fairly large "cleaup" related to changing ObjCCompatibleAliasDecl superclass... · 257520b1
      Steve Naroff authored
      Fairly large "cleaup" related to changing ObjCCompatibleAliasDecl superclass (to inherit from NamedDecl, instead of ScopedDecl). 
      
      - Added a DenseMap to associate an IdentifierInfo with the ObjCCompatibleAliasDecl.
      - Renamed LookupScopedDecl->LookupDecl and changed it's return type to Decl. Also added lookup for ObjCCompatibleAliasDecl's.
      - Removed Sema::LookupInterfaceDecl(). Converted clients to used LookupDecl().
      - Some minor indentation changes.
      
      Will deal with ObjCInterfaceDecl and getObjCInterfaceDecl() in a separate commit...
      
      llvm-svn: 49058
      257520b1
  7. Mar 31, 2008
    • Chris Lattner's avatar
      rename Decl::CompatibleAlias -> ObjCCompatibleAlias. · 59a2594f
      Chris Lattner authored
      Fix objc ivar lookup.  Ivar lookup should occur between lookup
      of method-local values and lookup of globals.  Emulate this with
      some logic in the handling of Sema::ActOnIdentifierExpr.
      
      Two todo's left:
       1) sema shouldn't turn a bare reference to an ivar into "self->ivar"
          in the AST.  This is a hack.
       2) The new ScopedDecl::isDefinedOutsideFunctionOrMethod method does
          not correctly handle typedefs and enum constants yet.
      
      llvm-svn: 48972
      59a2594f
  8. Mar 28, 2008
  9. Mar 26, 2008
  10. Mar 25, 2008
  11. Mar 20, 2008
  12. Mar 17, 2008
  13. Mar 16, 2008
Loading