Skip to content
  1. Jun 03, 2011
  2. Jun 02, 2011
  3. May 28, 2011
  4. May 25, 2011
  5. May 20, 2011
  6. May 18, 2011
  7. May 13, 2011
  8. May 09, 2011
  9. May 05, 2011
  10. May 03, 2011
  11. Apr 28, 2011
  12. Apr 27, 2011
  13. Apr 23, 2011
  14. Apr 22, 2011
  15. Apr 21, 2011
  16. Apr 20, 2011
  17. Apr 19, 2011
  18. Apr 17, 2011
  19. Apr 16, 2011
  20. Apr 15, 2011
  21. Apr 10, 2011
  22. Apr 09, 2011
  23. Apr 05, 2011
  24. Apr 04, 2011
    • Bob Wilson's avatar
      Change ARM data layout strings to match llvm-gcc. · e3a15fed
      Bob Wilson authored
      Sandeep Patel noticed that the alignment was wrong for Neon vector types,
      and this change is partly derived from his patch.  For the APCS ABI, however,
      additional changes were required: the maximum ABI alignment is 32 bits and
      the preferred alignment for i64 and f64 types should be 64 bits.
      
      llvm-svn: 128825
      e3a15fed
  25. Mar 31, 2011
  26. Mar 26, 2011
  27. Mar 23, 2011
    • 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
  28. Mar 22, 2011
  29. Mar 21, 2011
Loading