Skip to content
  1. 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
    • Ken Dyck's avatar
      Convert NonVirtual parameter of ApplyNonVirtualAndVirtualOffset() to · cfc332cc
      Ken Dyck authored
      CharUnits. No change in functionality intended.
      
      llvm-svn: 128126
      cfc332cc
    • Johnny Chen's avatar
      Fix test suite failures by modifying the script for testing abbreviations. · 468d6c46
      Johnny Chen authored
      Failures were due to new commands introduced.
      
      llvm-svn: 128125
      468d6c46
    • Johnny Chen's avatar
      Fix compile warnings wrt LLDBWrapPython.cpp. · de8241c2
      Johnny Chen authored
      llvm-svn: 128124
      de8241c2
    • Greg Clayton's avatar
      Added new platform commands: · d314e810
      Greg Clayton authored
      platform connect <args>
      platform disconnect
      
      Each platform can decide the args they want to use for "platform connect". I 
      will need to add a function that gets the connect options for the current
      platform as each one can have different options and argument counts.
      
      Hooked up more functionality in the PlatformMacOSX and PlatformRemoteiOS.
      Also started an platform agnostic PlatformRemoteGDBServer.cpp which can end
      up being used by one or more actual platforms. It can also be specialized and
      allow for platform specific commands.
      
      llvm-svn: 128123
      d314e810
    • Johnny Chen's avatar
      For ARM Disassembler, start a newline to dump the opcode and friends for an instruction. · 7ca3ddc2
      Johnny Chen authored
      Change inspired by llvm-bug 9530 submitted by Jyun-Yan You.
      
      llvm-svn: 128122
      7ca3ddc2
    • John McCall's avatar
      Fix an error with the declaration of block parameters that depend · 92d627e1
      John McCall authored
      on previous block parameters that crept in as part of my captures
      work a month or so ago.
      
      llvm-svn: 128121
      92d627e1
    • Johnny Chen's avatar
      Add disassembly test cases for: · 122a6304
      Johnny Chen authored
      A8.6.292 VCMPE
      
      llvm-svn: 128120
      122a6304
    • Devang Patel's avatar
      Remove the test. · 6050de96
      Devang Patel authored
      llvm-svn: 128119
      6050de96
    • John McCall's avatar
      Warn about unused declaration-specifiers on tag declarations. · aa017377
      John McCall authored
      llvm-svn: 128118
      aa017377
  2. Mar 22, 2011
Loading