[PATCH] D23080: ObjC: Use a new type for ObjC type parameter (patch 3 out of 3)

Manman Ren via cfe-commits cfe-commits at lists.llvm.org
Tue Aug 2 12:49:46 PDT 2016


manmanren created this revision.
manmanren added a reviewer: doug.gregor.
manmanren added a subscriber: cfe-commits.


Depends on https://reviews.llvm.org/D23078 and https://reviews.llvm.org/D23079

We say ObjCTypeParamType is ObjCObjectPointerType, but we assert
fail when trying to call Type::getPointeeType.

We compare the types between declaration and definition for ObjCMethods that
use the type parameter, by using simpleTransform that transforms the
ObjCTypeParamType to the underlying type of the ObjCTypeParamDecl. This matches
our previous behavior.

rdar://24619481
rdar://25060179


https://reviews.llvm.org/D23080

Files:
  include/clang/AST/Type.h
  lib/AST/DeclObjC.cpp
  lib/AST/Type.cpp
  lib/Sema/SemaDeclObjC.cpp
  lib/Sema/SemaExprObjC.cpp
  lib/Sema/SemaType.cpp
  lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
  lib/StaticAnalyzer/Core/CallEvent.cpp
  test/SemaObjC/kindof.m
  test/SemaObjC/parameterized_classes.m
  test/SemaObjC/parameterized_classes_subst.m

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D23080.66529.patch
Type: text/x-patch
Size: 19417 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160802/248f12db/attachment-0001.bin>


More information about the cfe-commits mailing list