diff options
author | Manman Ren <manman.ren@gmail.com> | 2016-09-13 17:25:08 +0000 |
---|---|---|
committer | Manman Ren <manman.ren@gmail.com> | 2016-09-13 17:25:08 +0000 |
commit | e6be26c8d4106e8366804ef918ff6b366a69eb15 (patch) | |
tree | 36ed2b2dab115f497355becb55a8dd7e4f10da22 /clang/lib/CodeGen/CodeGenFunction.cpp | |
parent | bd28a85d14aedd38fd9b1bd5fba45efbccc5a5cf (diff) | |
download | bcm5719-llvm-e6be26c8d4106e8366804ef918ff6b366a69eb15.tar.gz bcm5719-llvm-e6be26c8d4106e8366804ef918ff6b366a69eb15.zip |
ObjectiveC generics: Add ObjCTypeParamType in the type system.
We also need to add ObjCTypeParamTypeLoc. ObjCTypeParamType supports the
representation of "T <protocol>" where T is a type parameter. Before this,
we use TypedefType to represent the type parameter for ObjC.
ObjCTypeParamType has "ObjCTypeParamDecl *OTPDecl" and it extends from
ObjCProtocolQualifiers. It is a non-canonical type and is canonicalized
to the underlying type with the protocol qualifiers.
rdar://24619481
rdar://25060179
Differential Revision: http://reviews.llvm.org/D23079
llvm-svn: 281355
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
-rw-r--r-- | clang/lib/CodeGen/CodeGenFunction.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.cpp b/clang/lib/CodeGen/CodeGenFunction.cpp index 116079e4a7f..0b9fe29a9ce 100644 --- a/clang/lib/CodeGen/CodeGenFunction.cpp +++ b/clang/lib/CodeGen/CodeGenFunction.cpp @@ -1717,6 +1717,7 @@ void CodeGenFunction::EmitVariablyModifiedType(QualType type) { case Type::Enum: case Type::Elaborated: case Type::TemplateSpecialization: + case Type::ObjCTypeParam: case Type::ObjCObject: case Type::ObjCInterface: case Type::ObjCObjectPointer: |