jlebar accepted this revision. jlebar added inline comments. This revision is now accepted and ready to land.
================ Comment at: lib/Sema/SemaCUDA.cpp:87 + + if ((HasHostAttr && HasDeviceAttr) || ForceCUDAHostDeviceDepth > 0) + return CFT_HostDevice; ---------------- tra wrote: > jlebar wrote: > > Checking ForceCUDAHostDeviceDepth here is...yeah. Especially because the > > other overload of this function doesn't do it. > > > > I know you get rid of it in the next patch, but how much work would it be > > to get rid of it here? It definitely makes this patch harder to check. > OK. Moved the check to the place where I use it. Thank you -- I appreciate that. :) ================ Comment at: lib/Sema/SemaCUDA.cpp:791 + CUDAFunctionTarget NewTarget = IdentifyCUDATarget(NewFD); + for (auto OldND : Previous) { + FunctionDecl *OldFD = OldND->getAsFunction(); ---------------- tra wrote: > jlebar wrote: > > If this is just a Decl* or NamedDecl*, can we write out the type? > I'm not sure what exactly you'd like to see. Diags will print out the line > and target info for both sides. > Could you give me example of existing diagnostics that would be similar to > what you want? Sorry, I just meant for you to change "auto" to the actual type. ================ Comment at: lib/Sema/SemaCUDA.cpp:793 + FunctionDecl *OldFD = OldND->getAsFunction(); + if (!OldFD || OldFD->isFunctionTemplateSpecialization()) + continue; ---------------- tra wrote: > jlebar wrote: > > Please add a comment explaining why we ignore template specializations. > That's another check that's no longer needed as the only template > instantiations/specializations that end up in the overload set are those that > were instantiated from templates with matching target. > Even better. :) ================ Comment at: lib/Sema/SemaTemplate.cpp:7047 + // target. Given that regular template deduction does not take + // it into account, we perform target match check here and + // reject candidates that have different target. ---------------- what is "it"? Do you mean "the function signature", or something else? https://reviews.llvm.org/D25809 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits