Anastasia added inline comments.
================
Comment at: clang/lib/Sema/SemaOverload.cpp:9870
+ if (S.getLangOpts().OpenCL) {
+ if (const auto *CD1 =
dyn_cast_or_null<CXXConstructorDecl>(Cand1.Function)) {
----------------
I think we should remove the OpenCL check since it is not OpenCL specific rule
and you are using common helpers indeed!
I also wonder if this should be applied to all member functions not only ctors
since `isBetterOverloadCandidate` should be used for everything?
However it seems that other members are already handled somehow
https://godbolt.org/z/MrWKPKed7. Do you know where this handling comes from?
================
Comment at: clang/test/CodeGenOpenCLCXX/addrspace-constructors.clcpp:14
// Local variables are handled in local_addrspace_init.clcpp
- // FIXME: __private and __generic constructors clash for __private variable
- // X() /*__generic*/ = default;
+ X() /*__generic*/ = default;
X() __private : x(0) {}
----------------
Let's add a `CHECK` to make sure that the overload with the specific address
space is used.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D102850/new/
https://reviews.llvm.org/D102850
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits