yvvan created this revision. yvvan added reviewers: erikjv, arphaman, michaelwu.
Currently the resulting type is always invalid in such case. https://reviews.llvm.org/D51281 Files: tools/libclang/CXType.cpp Index: tools/libclang/CXType.cpp =================================================================== --- tools/libclang/CXType.cpp +++ tools/libclang/CXType.cpp @@ -427,6 +427,7 @@ if (!TP) return MakeCXType(QualType(), GetTU(CT)); +try_again: switch (TP->getTypeClass()) { case Type::Pointer: T = cast<PointerType>(TP)->getPointeeType(); @@ -444,6 +445,11 @@ case Type::MemberPointer: T = cast<MemberPointerType>(TP)->getPointeeType(); break; + case Type::Auto: + TP = cast<DeducedType>(TP)->getDeducedType().getTypePtrOrNull(); + if (TP) + goto try_again; + break; default: T = QualType(); break;
Index: tools/libclang/CXType.cpp =================================================================== --- tools/libclang/CXType.cpp +++ tools/libclang/CXType.cpp @@ -427,6 +427,7 @@ if (!TP) return MakeCXType(QualType(), GetTU(CT)); +try_again: switch (TP->getTypeClass()) { case Type::Pointer: T = cast<PointerType>(TP)->getPointeeType(); @@ -444,6 +445,11 @@ case Type::MemberPointer: T = cast<MemberPointerType>(TP)->getPointeeType(); break; + case Type::Auto: + TP = cast<DeducedType>(TP)->getDeducedType().getTypePtrOrNull(); + if (TP) + goto try_again; + break; default: T = QualType(); break;
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits