@@ -1608,6 +1608,11 @@ static void emitCommonOMPParallelDirective(
16081608    const  CodeGenBoundParametersTy &CodeGenBoundParameters) {
16091609  const  CapturedStmt *CS = S.getCapturedStmt (OMPD_parallel);
16101610  llvm::Value *NumThreads = nullptr ;
1611+   OpenMPNumThreadsClauseModifier Modifier = OMPC_NUMTHREADS_unknown;
1612+   //  OpenMP 6.0, 10.4: "If no severity clause is specified then the effect is as
1613+   //  if sev-level is fatal."
1614+   OpenMPSeverityClauseKind Severity = OMPC_SEVERITY_fatal;
1615+   clang::Expr *Message = nullptr ;
16111616  llvm::Function *OutlinedFn =
16121617      CGF.CGM .getOpenMPRuntime ().emitParallelOutlinedFunction (
16131618          CGF, S, *CS->getCapturedDecl ()->param_begin (), InnermostKind,
@@ -1616,9 +1621,7 @@ static void emitCommonOMPParallelDirective(
16161621    CodeGenFunction::RunCleanupsScope NumThreadsScope (CGF);
16171622    NumThreads = CGF.EmitScalarExpr (NumThreadsClause->getNumThreads (),
16181623                                    /* IgnoreResultAssign=*/ true );
1619-     OpenMPNumThreadsClauseModifier Modifier = NumThreadsClause->getModifier ();
1620-     OpenMPSeverityClauseKind Severity = OMPC_SEVERITY_fatal;
1621-     clang::Expr *Message = nullptr ;
1624+     Modifier = NumThreadsClause->getModifier ();
16221625    if  (const  auto  *MessageClause = S.getSingleClause <OMPMessageClause>())
16231626      Message = MessageClause->getMessageString ();
16241627    if  (const  auto  *SeverityClause = S.getSingleClause <OMPSeverityClause>())
@@ -1650,7 +1653,8 @@ static void emitCommonOMPParallelDirective(
16501653  CodeGenBoundParameters (CGF, S, CapturedVars);
16511654  CGF.GenerateOpenMPCapturedVars (*CS, CapturedVars);
16521655  CGF.CGM .getOpenMPRuntime ().emitParallelCall (CGF, S.getBeginLoc (), OutlinedFn,
1653-                                               CapturedVars, IfCond, NumThreads);
1656+                                               CapturedVars, IfCond, NumThreads,
1657+                                               Modifier, Severity, Message);
16541658}
16551659
16561660static  bool  isAllocatableDecl (const  VarDecl *VD) {
0 commit comments