From f1cb31ff8997bec210bcd663cb8e78d22a96a1bd Mon Sep 17 00:00:00 2001 From: Yaxun Liu Date: Wed, 27 Feb 2019 15:46:29 +0000 Subject: [PATCH] [NFC] minor revision of r354929 [CUDA][HIP] Check calling convention based on function target Add comments and move a variable to if block. Differential Revision: https://reviews.llvm.org/D57716 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@354990 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Sema/SemaDeclAttr.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/Sema/SemaDeclAttr.cpp b/lib/Sema/SemaDeclAttr.cpp index 157c18a9e4..4a8006ab1a 100644 --- a/lib/Sema/SemaDeclAttr.cpp +++ b/lib/Sema/SemaDeclAttr.cpp @@ -4617,8 +4617,12 @@ bool Sema::CheckCallingConvAttr(const ParsedAttr &Attrs, CallingConv &CC, TargetInfo::CallingConvCheckResult A = TargetInfo::CCCR_OK; const TargetInfo &TI = Context.getTargetInfo(); - auto *Aux = Context.getAuxTargetInfo(); + // CUDA functions may have host and/or device attributes which indicate + // their targeted execution environment, therefore the calling convention + // of functions in CUDA should be checked against the target deduced based + // on their host/device attributes. if (LangOpts.CUDA) { + auto *Aux = Context.getAuxTargetInfo(); auto CudaTarget = IdentifyCUDATarget(FD); bool CheckHost = false, CheckDevice = false; switch (CudaTarget) { -- 2.50.1