Skip to content
  1. Oct 24, 2019
  2. Oct 23, 2019
  3. Oct 22, 2019
    • Jinsong Ji's avatar
    • Kit Barton's avatar
      Fix broken sphinx link in CMake.rst. · efd7caaa
      Kit Barton authored
      Reviewers: delcypher, beanz
      
      Subscribers: mgorny, llvm-commits
      
      Tags: #llvm
      
      Differential Revision: https://reviews.llvm.org/D69325
      efd7caaa
    • Jinsong Ji's avatar
      cf57be9d
    • LLVM GN Syncbot's avatar
      typo fix test commit · f86dc64b
      LLVM GN Syncbot authored
      f86dc64b
    • Hans Wennborg's avatar
      Revert r374202"[ObjC generics] Fix not inheriting type bounds in categories/extensions." · 4c539e8d
      Hans Wennborg authored
      This introduced new errors, see below. Reverting until that can be investigated
      properly.
      
        #import <AVFoundation/AVFoundation.h>
      
        void f(int width, int height) {
          FourCharCode best_fourcc = kCMPixelFormat_422YpCbCr8_yuvs;
          NSDictionary* videoSettingsDictionary = @{
            (id)kCVPixelBufferPixelFormatTypeKey : @(best_fourcc),
          };
        }
      
        $ clang++ -c /tmp/a.mm
      
        /tmp/a.mm:6:5: error: cannot initialize a parameter of type
        'KeyType<NSCopying>  _Nonnull const' (aka 'const id') with an rvalue
        of type 'id'
            (id)kCVPixelBufferPixelFormatTypeKey : @(best_fourcc),
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        1 error generated.
      
      > When a category/extension doesn't repeat a type bound, corresponding
      > type parameter is substituted with `id` when used as a type argument. As
      > a result, in the added test case it was causing errors like
      >
      > > type argument 'T' (aka 'id') does not satisfy the bound ('id<NSCopying>') of type parameter 'T'
      >
      > We are already checking that type parameters should be consistent
      > everywhere (see `checkTypeParamListConsistency`) and update
      > `ObjCTypeParamDecl` to have correct underlying type. And when we use the
      > type parameter as a method return type or a method parameter type, it is
      > substituted to the bounded type. But when we use the type parameter as a
      > type argument, we check `ObjCTypeParamType` that ignores the updated
      > underlying type and remains `id`.
      >
      > Fix by desugaring `ObjCTypeParamType` to the underlying type, the same
      > way we are doing with `TypedefType`.
      >
      > rdar://problem/54329242
      >
      > Reviewers: erik.pilkington, ahatanak
      >
      > Reviewed By: erik.pilkington
      >
      > Subscribers: jkorous, dexonsmith, ributzka, cfe-commits
      >
      > Differential Revision: https://reviews.llvm.org/D66696
      4c539e8d
Loading