[PATCH] D55850: [OpenCL] Allow address spaces as method qualifiers
Anastasia Stulova via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Dec 28 06:50:56 PST 2018
Anastasia marked an inline comment as done.
Anastasia added inline comments.
================
Comment at: lib/Sema/SemaOverload.cpp:9279
+ (CandAS1 != LangAS::opencl_generic && CandAS1 != LangAS::Default))
+ return true;
+ }
----------------
rjmccall wrote:
> rjmccall wrote:
> > This at least needs a comment explaining the rule you're trying to implement.
> Okay, thanks for the clarification. I think this should just be part of `CompareImplicitConversionSequence`, right? It seems to me that you should prefer e.g. `int __private *` -> `int __private *` over `int __generic *` as a normal argument conversion as well.
>
> Also, can this be written in terms of `isAddressSpaceSupersetOf`? I don't remember how `LangAS::Default` works in OpenCL C++ enough to understand how it fits in here.
That's correct we should implement the same logic for the arguments too. I will create a helper function or do you think we should just call `CompareImplicitConversionSequence` on the method type too?
I think `isAddressSpaceSupersetOf` can't be used here because it determines compatibility of address spaces. However, the logic we are expressing is for the address space preference instead.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D55850/new/
https://reviews.llvm.org/D55850
More information about the cfe-commits
mailing list