Anastasia added inline comments.
================ Comment at: lib/AST/ASTContext.cpp:2781 + + return getAddrSpaceQualType(NewT, Orig.getAddressSpace()); } ---------------- ebevhan wrote: > rjmccall wrote: > > Anastasia wrote: > > > rjmccall wrote: > > > > You're trying to handle a method qualifier, not a type a functions that > > > > are themselves in some non-standard address space, right? The method > > > > qualifier should already be part of `Proto->getExtProtoInfo()`, so if > > > > there's an address space qualifier out here, something is very wrong. > > > As far as I understand the new design, we have an address space qualifier > > > on a method and as a part of the function prototype too. Are you saying > > > that we need to make sure the prototype has an address space too? > > The address-space `this` qualifiers are a part of `FunctionProtoType` > > that's totally independent from the storage of top-level qualifiers that's > > part of `QualType`. `Orig.getAddressSpace()` is asking about the top-level > > qualifiers, not the `this` qualifiers. Generally, function types should > > not have top-level qualifiers at all (although of course a member pointer > > can have both top-level qualifiers and `this` qualifiers, with the former > > meaning something completely different from the latter). > I suspect the reason there has to be qualifiers on the function type itself > is because of the `getType` mistake I mentioned in the previous patch. If the > `this` address space qualifiers aren't also on the function type, then > `GetThisType` will not produce the correctly qualified type. > > If the `getType` in `GetThisType` is changed to `getTypeQualifiers`, then the > function type should not need any qualifiers. I fixed the issues reported here and in https://reviews.llvm.org/D54862 on the following review: https://reviews.llvm.org/D56066. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55656/new/ https://reviews.llvm.org/D55656 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits