Skip to content
Snippets Groups Projects
  1. Oct 27, 2015
  2. Oct 26, 2015
  3. Oct 25, 2015
  4. Oct 24, 2015
  5. Oct 23, 2015
  6. Oct 22, 2015
    • John McCall's avatar
      Define weak and __weak to mean ARC-style weak references, even in MRC. · abdd8245
      John McCall authored
      Previously, __weak was silently accepted and ignored in MRC mode.
      That makes this a potentially source-breaking change that we have to
      roll out cautiously.  Accordingly, for the time being, actual support
      for __weak references in MRC is experimental, and the compiler will
      reject attempts to actually form such references.  The intent is to
      eventually enable the feature by default in all non-GC modes.
      (It is, of course, incompatible with ObjC GC's interpretation of
      __weak.)
      
      If you like, you can enable this feature with
        -Xclang -fobjc-weak
      but like any -Xclang option, this option may be removed at any point,
      e.g. if/when it is eventually enabled by default.
      
      This patch also enables the use of the ARC __unsafe_unretained qualifier
      in MRC.  Unlike __weak, this is being enabled immediately.  Since
      variables are essentially __unsafe_unretained by default in MRC,
      the only practical uses are (1) communication and (2) changing the
      default behavior of by-value block capture.
      
      As an implementation matter, this means that the ObjC ownership
      qualifiers may appear in any ObjC language mode, and so this patch
      removes a number of checks for getLangOpts().ObjCAutoRefCount
      that were guarding the processing of these qualifiers.  I don't
      expect this to be a significant drain on performance; it may even
      be faster to just check for these qualifiers directly on a type
      (since it's probably in a register anyway) than to do N dependent
      loads to grab the LangOptions.
      
      rdar://9674298
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@251041 91177308-0d34-0410-b5e6-96231b3b80d8
      abdd8245
    • David Majnemer's avatar
      [MS ABI] Don't crash when inheriting from base with trailing empty array member · 93fdb3f3
      David Majnemer authored
      We got this right for Itanium but not MSVC because CGRecordLayoutBuilder
      was checking if the base's size was zero when it should have been
      checking the non-virtual size.
      
      This fixes PR21040.
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@251036 91177308-0d34-0410-b5e6-96231b3b80d8
      93fdb3f3
    • Benjamin Kramer's avatar
      9b470453
Loading