Skip to content
  1. Jan 05, 2009
    • Douglas Gregor's avatar
      Introduce support for "transparent" DeclContexts, which are · 07665a69
      Douglas Gregor authored
      DeclContexts whose members are visible from enclosing DeclContexts up
      to (and including) the innermost enclosing non-transparent
      DeclContexts. Transparent DeclContexts unify the mechanism to be used
      for various language features, including C enumerations, anonymous
      unions, C++0x inline namespaces, and C++ linkage
      specifications. Please refer to the documentation in the Clang
      internals manual for more information.
      
      Only enumerations and linkage specifications currently use transparent
      DeclContexts.
      
      Still to do: use transparent DeclContexts to implement anonymous
      unions and GCC's anonymous structs extension, and, later, the C++0x
      features. We also need to tighten up the DeclContext/ScopedDecl link
      to ensure that every ScopedDecl is in a single DeclContext, which
      will ensure that we can then enforce ownership and reduce the memory
      footprint of DeclContext.
      
      llvm-svn: 61735
      07665a69
  2. Dec 31, 2008
  3. Dec 30, 2008
  4. Dec 29, 2008
  5. Dec 28, 2008
  6. Dec 26, 2008
  7. Dec 24, 2008
    • Douglas Gregor's avatar
      Keep track of template arguments when we parse them. Right now, we don't... · b9bd8a99
      Douglas Gregor authored
      Keep track of template arguments when we parse them. Right now, we don't actually do anything with the template arguments, but they'll be used to create template declarations
      
      llvm-svn: 61413
      b9bd8a99
    • Douglas Gregor's avatar
      Correct the order in which we cope with end-of-class-definition · 58354036
      Douglas Gregor authored
      semantics and improve our handling of default arguments. Specifically,
      we follow this order:
      
        - As soon as the see the '}' in the class definition, the class is
        complete and we add any implicit declarations (default constructor,
        copy constructor, etc.) to the class.
        - If there are any default function arguments, parse them
        - If there were any inline member function definitions, parse them
      
      As part of this change, we now keep track of the the fact that we've
      seen unparsed default function arguments within the AST. See the new
      ParmVarDecl::hasUnparsedDefaultArg member. This allows us to properly
      cope with calls inside default function arguments to other functions
      where we're making use of the default arguments.
      
      Made some C++ error messages regarding failed initializations more
      specific. 
      
      llvm-svn: 61406
      58354036
  8. Dec 23, 2008
    • Anton Korobeynikov's avatar
      Sema for fastcall/stdcall stuff. Tests will follow. · 484f05e1
      Anton Korobeynikov authored
      Patch by Ilya Okonsky!
      
      llvm-svn: 61394
      484f05e1
    • Douglas Gregor's avatar
      Fix misguided type selection · 17eb26bc
      Douglas Gregor authored
      llvm-svn: 61393
      17eb26bc
    • Douglas Gregor's avatar
      Don't push OverloadedFunctionDecls onto the chain of declarations · 8b9ccca5
      Douglas Gregor authored
      attached to an identifier. Instead, all overloaded functions will be
      pushed into scope, and we'll synthesize an OverloadedFunctionDecl on
      the fly when we need it. 
      
      llvm-svn: 61386
      8b9ccca5
    • Douglas Gregor's avatar
      Add some block-pointer conversions in C++ · 033f56d5
      Douglas Gregor authored
      llvm-svn: 61359
      033f56d5
    • Douglas Gregor's avatar
      Don't explicitly represent OverloadedFunctionDecls within · 55297ac4
      Douglas Gregor authored
      DeclContext. Instead, just keep the list of currently-active
      declarations and only build the OverloadedFunctionDecl when we
      absolutely need it.
      
      This is a half-step toward eliminating the need to explicitly build
      OverloadedFunctionDecls that store sets of overloaded
      functions. This was suggested by Argiris a while back, and it's a good
      thing for several reasons: first, it eliminates the messy logic that
      currently tries to keep the OverloadedFunctionDecl in sync with the 
      declarations that are being added. Second, it will (eventually)
      eliminate the need to allocate memory for overload sets, which could
      help performance. Finally, it helps set us up for when name lookup can
      return multiple (possibly ambiguous) results, as can happen with
      lookup of class members in C++.
      
      Next steps: make the IdentifierResolver store overloads as separate
      entries in its list rather than replacing them with an
      OverloadedFunctionDecl now, then see how far we can go toward
      eliminating OverloadedFunctionDecl entirely.
      
      llvm-svn: 61357
      55297ac4
  9. Dec 22, 2008
  10. Dec 21, 2008
  11. Dec 20, 2008
  12. Dec 19, 2008
  13. Dec 18, 2008
  14. Dec 17, 2008
Loading