Anastasia marked an inline comment as done. Anastasia added inline comments.
================ Comment at: lib/Sema/TreeTransform.h:5363 + if (ResultType.getAddressSpace() != LangAS::Default && + (ResultType.getAddressSpace() != LangAS::opencl_private)) { SemaRef.Diag(TL.getReturnLoc().getBeginLoc(), ---------------- I am trying to be a bit more helpful here although I am not sure if we should instead require explicit template parameter and fail the template deduction instead. Basically, do we want the following code to always require specifying template argument explicitly: ``` template <class T> T xxx(T *in) { T *i = in; return *i; } __kernel void test() { int foo[10]; xxx<int>(&foo[0]); // if we deduce type from foo, it ends up being qualified by __private that we currently diagnose. However private is default (implicit) address space for return type so technically there is no danger in just allowing xxx(&foo[0]) } ``` CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62584/new/ https://reviews.llvm.org/D62584 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits