forked from OSchip/llvm-project
74 lines
2.7 KiB
C++
74 lines
2.7 KiB
C++
|
//===-- 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");
|
||
|
}
|