diff --git a/flang/lib/Lower/OpenACC.cpp b/flang/lib/Lower/OpenACC.cpp --- a/flang/lib/Lower/OpenACC.cpp +++ b/flang/lib/Lower/OpenACC.cpp @@ -15,13 +15,12 @@ #include "flang/Lower/Bridge.h" #include "flang/Lower/FIRBuilder.h" #include "flang/Lower/PFTBuilder.h" +#include "flang/Lower/Todo.h" #include "flang/Parser/parse-tree.h" #include "flang/Semantics/tools.h" #include "mlir/Dialect/OpenACC/OpenACC.h" #include "llvm/Frontend/OpenACC/ACC.h.inc" -#define TODO() llvm_unreachable("not yet implemented") - static const Fortran::parser::Name * getDesignatorNameIfDataRef(const Fortran::parser::Designator &designator) { const auto *dataRef{std::get_if(&designator.u)}; @@ -235,25 +234,31 @@ std::visit( common::visitors{ [&](const Fortran::parser::OpenACCBlockConstruct &blockConstruct) { - TODO(); + TODO("OpenACC Block construct not lowered yet!"); }, [&](const Fortran::parser::OpenACCCombinedConstruct - &combinedConstruct) { TODO(); }, + &combinedConstruct) { + TODO("OpenACC Combined construct not lowered yet!"); + }, [&](const Fortran::parser::OpenACCLoopConstruct &loopConstruct) { genACC(converter, eval, loopConstruct); }, [&](const Fortran::parser::OpenACCStandaloneConstruct - &standaloneConstruct) { TODO(); }, + &standaloneConstruct) { + TODO("OpenACC Standalone construct not lowered yet!"); + }, [&](const Fortran::parser::OpenACCRoutineConstruct - &routineConstruct) { TODO(); }, + &routineConstruct) { + TODO("OpenACC Routine construct not lowered yet!"); + }, [&](const Fortran::parser::OpenACCCacheConstruct &cacheConstruct) { - TODO(); + TODO("OpenACC Cache construct not lowered yet!"); }, [&](const Fortran::parser::OpenACCWaitConstruct &waitConstruct) { - TODO(); + TODO("OpenACC Wait construct not lowered yet!"); }, [&](const Fortran::parser::OpenACCAtomicConstruct &atomicConstruct) { - TODO(); + TODO("OpenACC Atomic construct not lowered yet!"); }, }, accConstruct.u);