diff options
Diffstat (limited to 'lldb/source/Core/ValueObject.cpp')
| -rw-r--r-- | lldb/source/Core/ValueObject.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lldb/source/Core/ValueObject.cpp b/lldb/source/Core/ValueObject.cpp index fb3c9b3c06c..031d7546339 100644 --- a/lldb/source/Core/ValueObject.cpp +++ b/lldb/source/Core/ValueObject.cpp @@ -1899,10 +1899,13 @@ ValueObject::IsPossibleDynamicType () bool ValueObject::IsObjCNil () { - bool isObjCpointer = ClangASTContext::IsObjCObjectPointerType(GetClangType(), NULL); + const uint32_t mask = ClangASTContext::eTypeIsObjC | ClangASTContext::eTypeIsPointer; + bool isObjCpointer = ( ((ClangASTContext::GetTypeInfo(GetClangType(), GetClangAST(), NULL)) & mask) == mask); + if (!isObjCpointer) + return false; bool canReadValue = true; bool isZero = GetValueAsUnsigned(0,&canReadValue) == 0; - return canReadValue && isZero && isObjCpointer; + return canReadValue && isZero; } ValueObjectSP |

