tra added inline comments.
================ Comment at: lib/Sema/SemaDeclAttr.cpp:4621-4638 + auto CUDATarget = IdentifyCUDATarget(FD); + if (CUDATarget == CFT_HostDevice) { + A = TI.checkCallingConvention(CC); + if (A == TargetInfo::CCCR_OK && Aux) + A = Aux->checkCallingConvention(CC); + } else if (LangOpts.CUDAIsDevice) { + if (CUDATarget == CFT_Device || CUDATarget == CFT_Global) { ---------------- This is rather convoluted. Perhaps it would be easier to understand if the code is restructured. along these lines: ``` // Returns a tuple indicating whether we need to check TargetInfo on host/device side of the compilation bool CheckHost = false, CheckDevice=false; switch (CudaTarget) { case CFT_HostDevice: CheckHost = true; CheckDevice=true; break; case CFT_Host: CheckHost = true; break; case CFG_Device: case CFG_Global: CheckDevice=true; break; } } (); TargetInfo *HostTI = CudaIsDevice ? Aux : &TI; TargetInfo * DeviceTI = CudaIsDevice ? &TI : Aux; if (CheckHost && HostTI) HostTI->checkCallingConvention(CC); if (CheckDevice && DeviceTI) DeviceTI->checkCallingConvention(CC); ``` ================ Comment at: test/SemaCUDA/amdgpu-windows-vectorcall.cu:3 + +// expected-no-diagnostics +template<class _Ty> ---------------- It may be good to add a check where we *would* expect to see the diagnostics. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D57716/new/ https://reviews.llvm.org/D57716 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits