SuccessChanges

Summary

  1. Revert "Fix lld detection in standalone compiler-rt." (details)
  2. Fix name of warn_ignored_hip_only_option (details)
  3. Revert r374202"[ObjC generics] Fix not inheriting type bounds in (details)
Commit 70316d3174d39429c1ef9ad3321def6d52bc35d6 by eugenis
Revert "Fix lld detection in standalone compiler-rt."
Breaks sanitizer-android buildbot.
This reverts commit d56203201f8a1f11abb913c4dfc0bf9c61432d1a.
The file was modifiedcompiler-rt/CMakeLists.txt
The file was modifiedcompiler-rt/cmake/config-ix.cmake
Commit 1c98ff49a30b88a2601b92e8702ff2058c4fc226 by Yaxun.Liu
Fix name of warn_ignored_hip_only_option
Differential Revision: https://reviews.llvm.org/D69268
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticCommonKinds.td
Commit 4c539e8da1b3de38a53ef3f7497f5c45a3243b61 by hans
Revert r374202"[ObjC generics] Fix not inheriting type bounds in
categories/extensions."
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
The file was modifiedclang/lib/AST/Type.cpp
The file was modifiedclang/test/SemaObjC/parameterized_classes_subst.m
The file was modifiedclang/include/clang/AST/Type.h