diff --git a/flang/lib/Lower/OpenMP.cpp b/flang/lib/Lower/OpenMP.cpp --- a/flang/lib/Lower/OpenMP.cpp +++ b/flang/lib/Lower/OpenMP.cpp @@ -104,7 +104,16 @@ genOMP(converter, eval, simpleStandaloneConstruct); }, [&](const Fortran::parser::OpenMPFlushConstruct &flushConstruct) { - TODO(); + SmallVector operandRange; + if (const auto &ompObjectList = + std::get>( + flushConstruct.t)) + genObjectList(*ompObjectList, converter, operandRange); + if (std::get>( + flushConstruct.t)) + TODO("Handle OmpFlushMemoryClause"); + converter.getFirOpBuilder().create( + converter.getCurrentLocation(), operandRange); }, [&](const Fortran::parser::OpenMPCancelConstruct &cancelConstruct) { TODO("");