Skip to content
  1. Jun 05, 2011
  2. May 28, 2011
  3. May 25, 2011
  4. May 18, 2011
  5. May 15, 2011
  6. May 14, 2011
  7. May 13, 2011
  8. May 08, 2011
  9. May 06, 2011
    • Alexis Hunt's avatar
      Modify some deleted function methods to better reflect reality: · 4a8ea109
      Alexis Hunt authored
       - New isDefined() function checks for deletedness
       - isThisDeclarationADefinition checks for deletedness
       - New doesThisDeclarationHaveABody() does what
         isThisDeclarationADefinition() used to do
       - The IsDeleted bit is not propagated across redeclarations
       - isDeleted() now checks the canoncial declaration
       - New isDeletedAsWritten() does what it says on the tin.
       - isUserProvided() now correct (thanks Richard!)
      
      This fixes the bug that we weren't catching
      
      void foo() = delete;
      void foo() {}
      
      as being a redefinition.
      
      llvm-svn: 131013
      4a8ea109
    • Eli Friedman's avatar
      Add an implementation of thunks for varargs methods. The implementation is a... · 49a94b1c
      Eli Friedman authored
      Add an implementation of thunks for varargs methods.  The implementation is a bit messy, but it is correct as long as the method in question doesn't use indirect gotos.  A couple of possible alternative implementations are outlined in FIXME's in this patch. rdar://problem/8077308 .
      
      llvm-svn: 130993
      49a94b1c
  10. May 05, 2011
  11. May 04, 2011
  12. Apr 23, 2011
    • Francois Pichet's avatar
      Add -fdelayed-template-parsing option. Using this option all templated... · 1c229c04
      Francois Pichet authored
      Add -fdelayed-template-parsing option. Using this option all templated function definitions are parsed at the end of the translation unit only if it is required by an actual instantiation. As such all the symbols of the TU are available during name lookup.
      
      Using this flag is necessary for compatibility with Microsoft template code.
      This also provides some parsing speed improvement.
      
      llvm-svn: 130022
      1c229c04
  13. Apr 22, 2011
  14. Apr 21, 2011
  15. Apr 19, 2011
  16. Apr 13, 2011
  17. Apr 12, 2011
  18. Apr 09, 2011
  19. Apr 07, 2011
    • John McCall's avatar
      Basic, untested implementation for an "unknown any" type requested by LLDB. · 31996343
      John McCall authored
      The idea is that you can create a VarDecl with an unknown type, or a
      FunctionDecl with an unknown return type, and it will still be valid to
      access that object as long as you explicitly cast it at every use.  I'm
      still going back and forth about how I want to test this effectively, but
      I wanted to go ahead and provide a skeletal implementation for the LLDB
      folks' benefit and because it also improves some diagnostic goodness for
      placeholder expressions.
      
      llvm-svn: 129065
      31996343
  20. Apr 06, 2011
  21. Mar 26, 2011
  22. Mar 23, 2011
    • Devang Patel's avatar
      Update type cache when a type is completed. · 945b8aed
      Devang Patel authored
      Radar 9168773
      
      llvm-svn: 128150
      945b8aed
    • Douglas Gregor's avatar
      Implement a new 'availability' attribute, that allows one to specify · 20b2ebd7
      Douglas Gregor authored
      which versions of an OS provide a certain facility. For example,
      
        void foo()
        __attribute__((availability(macosx,introduced=10.2,deprecated=10.4,obsoleted=10.6)));
      
      says that the function "foo" was introduced in 10.2, deprecated in
      10.4, and completely obsoleted in 10.6. This attribute ties in with
      the deployment targets (e.g., -mmacosx-version-min=10.1 specifies that
      we want to deploy back to Mac OS X 10.1). There are several concrete
      behaviors that this attribute enables, as illustrated with the
      function foo() above:
      
        - If we choose a deployment target >= Mac OS X 10.4, uses of "foo"
          will result in a deprecation warning, as if we had placed
          attribute((deprecated)) on it (but with a better diagnostic)
        - If we choose a deployment target >= Mac OS X 10.6, uses of "foo"
          will result in an "unavailable" warning (in C)/error (in C++), as
          if we had placed attribute((unavailable)) on it
        - If we choose a deployment target prior to 10.2, foo() is
          weak-imported (if it is a kind of entity that can be weak
          imported), as if we had placed the weak_import attribute on it.
      
      Naturally, there can be multiple availability attributes on a
      declaration, for different platforms; only the current platform
      matters when checking availability attributes.
      
      The only platforms this attribute currently works for are "ios" and
      "macosx", since we already have -mxxxx-version-min flags for them and we
      have experience there with macro tricks translating down to the
      deprecated/unavailable/weak_import attributes. The end goal is to open
      this up to other platforms, and even extension to other "platforms"
      that are really libraries (say, through a #pragma clang
      define_system), but that hasn't yet been designed and we may want to
      shake out more issues with this narrower problem first.
      
      Addresses <rdar://problem/6690412>.
      
      As a drive-by bug-fix, if an entity is both deprecated and
      unavailable, we only emit the "unavailable" diagnostic.
      
      llvm-svn: 128127
      20b2ebd7
  23. Mar 22, 2011
  24. Mar 18, 2011
  25. Mar 17, 2011
  26. Mar 14, 2011
  27. Mar 09, 2011
  28. Mar 07, 2011
    • Devang Patel's avatar
      DebugInfo can be enabled or disabled at function level (e.g. using an... · d6ffebb0
      Devang Patel authored
      DebugInfo can be enabled or disabled at function level (e.g. using an attribute). However, at module level it is determined by command line option and the state of command line option does not change during compilation. Make this layering explicit and fix accidental cases where the code generator was checking whether module has debug info enabled instead of checking whether debug info is enabled for this function or not.
      
      llvm-svn: 127165
      d6ffebb0
Loading