| //===-- Coarray.cpp -------------------------------------------------------===// |
| // |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| // |
| //===----------------------------------------------------------------------===// |
| /// |
| /// Implementation of the lowering of image related constructs and expressions. |
| /// Fortran images can form teams, communicate via coarrays, etc. |
| /// |
| //===----------------------------------------------------------------------===// |
| |
| #include "flang/Lower/Coarray.h" |
| #include "SymbolMap.h" |
| #include "flang/Lower/AbstractConverter.h" |
| #include "flang/Lower/FIRBuilder.h" |
| #include "flang/Parser/parse-tree.h" |
| #include "flang/Semantics/expression.h" |
| |
| #undef TODO |
| #define TODO(MSG) \ |
| { \ |
| mlir::emitError(converter.getCurrentLocation(), "not yet implemented") \ |
| << MSG; \ |
| exit(1); \ |
| } |
| |
| //===----------------------------------------------------------------------===// |
| // TEAM statements and constructs |
| //===----------------------------------------------------------------------===// |
| |
| void Fortran::lower::genChangeTeamConstruct( |
| Fortran::lower::AbstractConverter &converter, |
| Fortran::lower::pft::Evaluation &, |
| const Fortran::parser::ChangeTeamConstruct &) { |
| TODO("CHANGE TEAM construct"); |
| } |
| |
| void Fortran::lower::genChangeTeamStmt( |
| Fortran::lower::AbstractConverter &converter, |
| Fortran::lower::pft::Evaluation &, |
| const Fortran::parser::ChangeTeamStmt &) { |
| TODO("CHANGE TEAM stmt"); |
| } |
| |
| void Fortran::lower::genEndChangeTeamStmt( |
| Fortran::lower::AbstractConverter &converter, |
| Fortran::lower::pft::Evaluation &, |
| const Fortran::parser::EndChangeTeamStmt &) { |
| TODO("END CHANGE TEAM"); |
| } |
| |
| void Fortran::lower::genFormTeamStatement( |
| Fortran::lower::AbstractConverter &converter, |
| Fortran::lower::pft::Evaluation &, const Fortran::parser::FormTeamStmt &) { |
| TODO("FORM TEAM"); |
| } |
| |
| //===----------------------------------------------------------------------===// |
| // COARRAY expressions |
| //===----------------------------------------------------------------------===// |
| |
| fir::ExtendedValue Fortran::lower::CoarrayExprHelper::genAddr( |
| const Fortran::evaluate::CoarrayRef &expr) { |
| (void)symMap; |
| TODO("co-array address"); |
| } |
| |
| fir::ExtendedValue Fortran::lower::CoarrayExprHelper::genValue( |
| const Fortran::evaluate::CoarrayRef &expr) { |
| TODO("co-array value"); |
| } |