@@ -1295,9 +1295,10 @@ genTargetOp(Fortran::lower::AbstractConverter &converter,
1295
1295
llvm::SmallVector<mlir::Location> mapSymLocs;
1296
1296
llvm::SmallVector<const Fortran::semantics::Symbol *> mapSymbols;
1297
1297
llvm::SmallVector<mlir::Value> devicePtrOperands, deviceAddrOperands;
1298
- llvm::SmallVector<mlir::Type> useDeviceTypes;
1299
- llvm::SmallVector<mlir::Location> useDeviceLocs;
1300
- llvm::SmallVector<const Fortran::semantics::Symbol *> useDeviceSymbols;
1298
+ llvm::SmallVector<mlir::Type> devicePtrTypes, deviceAddrTypes;
1299
+ llvm::SmallVector<mlir::Location> devicePtrLocs, deviceAddrLocs;
1300
+ llvm::SmallVector<const Fortran::semantics::Symbol *> devicePtrSymbols,
1301
+ deviceAddrSymbols;
1301
1302
1302
1303
ClauseProcessor cp (converter, semaCtx, clauseList);
1303
1304
cp.processIf (llvm::omp::Directive::OMPD_target, ifClauseOperand);
@@ -1307,14 +1308,19 @@ genTargetOp(Fortran::lower::AbstractConverter &converter,
1307
1308
cp.processNowait (nowaitAttr);
1308
1309
cp.processMap (currentLocation, directive, stmtCtx, mapOperands, &mapSymTypes,
1309
1310
&mapSymLocs, &mapSymbols);
1310
- cp.processIsDevicePtr (devicePtrOperands, useDeviceTypes, useDeviceLocs,
1311
- useDeviceSymbols);
1312
- cp.processHasDeviceAddr (deviceAddrOperands, useDeviceTypes, useDeviceLocs,
1313
- useDeviceSymbols);
1314
- cp.processTODO <clause::Private, clause::Firstprivate, clause::Reduction,
1315
- clause::InReduction, clause::Allocate, clause::UsesAllocators,
1316
- clause::Defaultmap>(currentLocation,
1317
- llvm::omp::Directive::OMPD_target);
1311
+ cp.processIsDevicePtr (devicePtrOperands, devicePtrTypes, devicePtrLocs,
1312
+ devicePtrSymbols);
1313
+ cp.processHasDeviceAddr (deviceAddrOperands, deviceAddrTypes, deviceAddrLocs,
1314
+ deviceAddrSymbols);
1315
+
1316
+ cp.processTODO <Fortran::parser::OmpClause::Private,
1317
+ Fortran::parser::OmpClause::Firstprivate,
1318
+ Fortran::parser::OmpClause::Reduction,
1319
+ Fortran::parser::OmpClause::InReduction,
1320
+ Fortran::parser::OmpClause::Allocate,
1321
+ Fortran::parser::OmpClause::UsesAllocators,
1322
+ Fortran::parser::OmpClause::Defaultmap>(
1323
+ currentLocation, llvm::omp::Directive::OMPD_target);
1318
1324
1319
1325
// 5.8.1 Implicit Data-Mapping Attribute Rules
1320
1326
// The following code follows the implicit data-mapping rules to map all the
0 commit comments