@@ -1550,7 +1550,8 @@ static llvm::TargetRegionEntryInfo getEntryInfoFromPresumedLoc(
15501550 return std::pair<std::string, uint64_t>(PLoc.getFilename(), PLoc.getLine());
15511551 };
15521552
1553- return OMPBuilder.getTargetEntryUniqueInfo(FileInfoCallBack, ParentName);
1553+ return OMPBuilder.getTargetEntryUniqueInfo(FileInfoCallBack,
1554+ *CGM.getFileSystem(), ParentName);
15541555}
15551556
15561557ConstantAddress CGOpenMPRuntime::getAddrOfDeclareTargetVar(const VarDecl *VD) {
@@ -2703,7 +2704,8 @@ llvm::Value *CGOpenMPRuntime::emitForNext(CodeGenFunction &CGF,
27032704}
27042705
27052706llvm::Value *CGOpenMPRuntime::emitMessageClause(CodeGenFunction &CGF,
2706- const Expr *Message) {
2707+ const Expr *Message,
2708+ SourceLocation Loc) {
27072709 if (!Message)
27082710 return llvm::ConstantPointerNull::get(CGF.VoidPtrTy);
27092711 return CGF.EmitScalarExpr(Message);
@@ -2713,11 +2715,13 @@ llvm::Value *
27132715CGOpenMPRuntime::emitMessageClause(CodeGenFunction &CGF,
27142716 const OMPMessageClause *MessageClause) {
27152717 return emitMessageClause(
2716- CGF, MessageClause ? MessageClause->getMessageString() : nullptr);
2718+ CGF, MessageClause ? MessageClause->getMessageString() : nullptr,
2719+ MessageClause->getBeginLoc());
27172720}
27182721
27192722llvm::Value *
2720- CGOpenMPRuntime::emitSeverityClause(OpenMPSeverityClauseKind Severity) {
2723+ CGOpenMPRuntime::emitSeverityClause(OpenMPSeverityClauseKind Severity,
2724+ SourceLocation Loc) {
27212725 // OpenMP 6.0, 10.4: "If no severity clause is specified then the effect is
27222726 // as if sev-level is fatal."
27232727 return llvm::ConstantInt::get(CGM.Int32Ty,
@@ -2727,13 +2731,15 @@ CGOpenMPRuntime::emitSeverityClause(OpenMPSeverityClauseKind Severity) {
27272731llvm::Value *
27282732CGOpenMPRuntime::emitSeverityClause(const OMPSeverityClause *SeverityClause) {
27292733 return emitSeverityClause(SeverityClause ? SeverityClause->getSeverityKind()
2730- : OMPC_SEVERITY_unknown);
2734+ : OMPC_SEVERITY_unknown,
2735+ SeverityClause->getBeginLoc());
27312736}
27322737
27332738void CGOpenMPRuntime::emitNumThreadsClause(
27342739 CodeGenFunction &CGF, llvm::Value *NumThreads, SourceLocation Loc,
27352740 OpenMPNumThreadsClauseModifier Modifier, OpenMPSeverityClauseKind Severity,
2736- const Expr *Message) {
2741+ SourceLocation SeverityLoc, const Expr *Message,
2742+ SourceLocation MessageLoc) {
27372743 if (!CGF.HaveInsertPoint())
27382744 return;
27392745 llvm::SmallVector<llvm::Value *, 4> Args(
@@ -2745,8 +2751,8 @@ void CGOpenMPRuntime::emitNumThreadsClause(
27452751 RuntimeFunction FnID = OMPRTL___kmpc_push_num_threads;
27462752 if (Modifier == OMPC_NUMTHREADS_strict) {
27472753 FnID = OMPRTL___kmpc_push_num_threads_strict;
2748- Args.push_back(emitSeverityClause(Severity));
2749- Args.push_back(emitMessageClause(CGF, Message));
2754+ Args.push_back(emitSeverityClause(Severity, SeverityLoc ));
2755+ Args.push_back(emitMessageClause(CGF, Message, MessageLoc ));
27502756 }
27512757 CGF.EmitRuntimeCall(
27522758 OMPBuilder.getOrCreateRuntimeFunction(CGM.getModule(), FnID), Args);
@@ -12654,7 +12660,8 @@ llvm::Value *CGOpenMPSIMDRuntime::emitForNext(CodeGenFunction &CGF,
1265412660void CGOpenMPSIMDRuntime::emitNumThreadsClause(
1265512661 CodeGenFunction &CGF, llvm::Value *NumThreads, SourceLocation Loc,
1265612662 OpenMPNumThreadsClauseModifier Modifier, OpenMPSeverityClauseKind Severity,
12657- const Expr *Message) {
12663+ SourceLocation SeverityLoc, const Expr *Message,
12664+ SourceLocation MessageLoc) {
1265812665 llvm_unreachable("Not supported in SIMD-only mode");
1265912666}
1266012667
0 commit comments