Commit 2caf7571 authored by Alfonso Gregory's avatar Alfonso Gregory Committed by Akira Hatanaka
Browse files

[Clang][AST] Resolve FIXME: Remove ObjCObjectPointer from

isSpecifierType

There is no reason to have this here, (since all tests pass) and it
isn't even a specifier anyway. We can just treat it as a pointer
instead.

Differential Revision: https://reviews.llvm.org/D110068
parent 08ed2160
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -153,6 +153,9 @@ static QualType GetBaseType(QualType T) {
  while (!BaseType->isSpecifierType()) {
    if (const PointerType *PTy = BaseType->getAs<PointerType>())
      BaseType = PTy->getPointeeType();
    else if (const ObjCObjectPointerType *OPT =
                 BaseType->getAs<ObjCObjectPointerType>())
      BaseType = OPT->getPointeeType();
    else if (const BlockPointerType *BPy = BaseType->getAs<BlockPointerType>())
      BaseType = BPy->getPointeeType();
    else if (const ArrayType *ATy = dyn_cast<ArrayType>(BaseType))
+0 −1
Original line number Diff line number Diff line
@@ -2785,7 +2785,6 @@ bool Type::isSpecifierType() const {
  case DependentTemplateSpecialization:
  case ObjCInterface:
  case ObjCObject:
  case ObjCObjectPointer: // FIXME: object pointers aren't really specifiers
    return true;
  default:
    return false;