Don't return decorated (i.e., const or pointer)
authorSean Callanan <scallanan@apple.com>
Thu, 29 Nov 2012 00:50:56 +0000 (00:50 +0000)
committerSean Callanan <scallanan@apple.com>
Thu, 29 Nov 2012 00:50:56 +0000 (00:50 +0000)
versions of UnknownAnyTy for ObjectiveC value types.
<unknown type>* makes no sense and can cause the
parser to behave very oddly.

<rdar://problem/12518999>

llvm-svn: 168844

lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp

index 69f4209..4e2280a 100644 (file)
@@ -422,6 +422,8 @@ private:
                 clang::QualType target_type = BuildType(ast_ctx, type+1);
                 if (target_type.isNull())
                     return clang::QualType();
+                else if (target_type == ast_ctx.UnknownAnyTy)
+                    return ast_ctx.UnknownAnyTy;
                 else
                     return ast_ctx.getConstType(target_type);
             }
@@ -430,6 +432,8 @@ private:
             clang::QualType target_type = BuildType(ast_ctx, type+1);
             if (target_type.isNull())
                 return clang::QualType();
+            else if (target_type == ast_ctx.UnknownAnyTy)
+                return ast_ctx.UnknownAnyTy;
             else
                 return ast_ctx.getPointerType(target_type);
         }