rjmccall added inline comments.
================ Comment at: include/clang/AST/Type.h:6512 +inline bool Type::isTemplateSpecializationType() const { + return isa<TemplateSpecializationType>(this); +} ---------------- This is a sugar type. What are you trying to do? ================ Comment at: lib/Sema/SemaType.cpp:7417 // up instantiating to a type with an explicit address space qualifier. - // Expect for pointer or reference types because the addr space in - // template argument can only belong to a pointee. - (T->isDependentType() && !T->isPointerType() && !T->isReferenceType()) || + // Expect for: + // - pointer or reference types because the addr space in template ---------------- "Except"? ================ Comment at: lib/Sema/SemaType.cpp:7421 + // - template specialization as addr space in template argument doesn't + // affect specialization. + (T->isDependentType() && (!T->isPointerType() && !T->isReferenceType() && ---------------- I don't understand what you're saying here. Why does inference depend on whether the type is a template specialization? And what does this have to do with template arguments? Also, address spaces in template arguments are definitely part of the template argument and affect which specialization you're naming. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64400/new/ https://reviews.llvm.org/D64400 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits