Home
last modified time | relevance | path

Searched refs:Indirection (Results 1 – 25 of 41) sorted by relevance

12

/external/llvm-project/flang/include/flang/Common/
Dindirection.h31 template <typename A, bool COPY = false> class Indirection {
34 Indirection() = delete;
35 Indirection(A *&&p) : p_{p} { in Indirection() function
39 Indirection(A &&x) : p_{new A(std::move(x))} {} in Indirection() function
40 Indirection(Indirection &&that) : p_{that.p_} { in Indirection() function
44 ~Indirection() { in ~Indirection()
48 Indirection &operator=(Indirection &&that) {
60 bool operator==(const Indirection &that) const { return *p_ == *that.p_; }
63 static common::IfNoLvalue<Indirection, ARGS...> Make(ARGS &&...args) { in Make()
72 template <typename A> class Indirection<A, true> {
[all …]
Dunwrap.h130 static auto Unwrap(const Indirection<B, COPY> &p) -> Constify<A, B> * {
/external/llvm-project/flang/lib/Semantics/
Dcanonicalize-do.cpp32 [&](common::Indirection<AssociateConstruct> &associate) { in Post()
37 [&](common::Indirection<BlockConstruct> &blockConstruct) { in Post()
42 [&](common::Indirection<ChangeTeamConstruct> &changeTeam) { in Post()
47 [&](common::Indirection<CriticalConstruct> &critical) { in Post()
51 [&](common::Indirection<DoConstruct> &doConstruct) { in Post()
55 [&](common::Indirection<IfConstruct> &ifConstruct) { in Post()
59 [&](common::Indirection<CaseConstruct> &caseConstruct) { in Post()
64 [&](common::Indirection<SelectRankConstruct> &selectRank) { in Post()
68 [&](common::Indirection<SelectTypeConstruct> &selectType) { in Post()
72 [&](common::Indirection<ForallConstruct> &forall) { in Post()
[all …]
Dassignment.h53 common::Indirection<AssignmentContext> context_;
58 extern template class Fortran::common::Indirection<
Dresolve-labels.cpp56 if (std::is_same_v<A, common::Indirection<parser::EndDoStmt>> || in IsLegalDoTerm()
76 common::Indirection<parser::ArithmeticIfStmt>>( in IsLegalDoTerm()
78 std::holds_alternative<common::Indirection<parser::CycleStmt>>( in IsLegalDoTerm()
80 std::holds_alternative<common::Indirection<parser::ExitStmt>>( in IsLegalDoTerm()
82 std::holds_alternative<common::Indirection<parser::StopStmt>>( in IsLegalDoTerm()
84 std::holds_alternative<common::Indirection<parser::GotoStmt>>( in IsLegalDoTerm()
87 common::Indirection<parser::ReturnStmt>>( in IsLegalDoTerm()
96 return std::is_same_v<A, common::Indirection<parser::FormatStmt>>; in IsFormat()
110 std::is_same_v<A, common::Indirection<parser::LabelDoStmt>> || in IsLegalBranchTarget()
113 std::is_same_v<A, common::Indirection<parser::EndDoStmt>> || in IsLegalBranchTarget()
Dcheck-if-stmt.cpp20 if (std::holds_alternative<common::Indirection<parser::IfStmt>>( in Leave()
Dcheck-omp-structure.cpp629 std::get_if<common::Indirection<parser::ArrayElement>>( in Enter()
650 [&](const common::Indirection<parser::ArrayElement> &elem) { in CheckDependList()
654 [&](const common::Indirection<parser::StructureComponent> &) { in CheckDependList()
661 [&](const common::Indirection<parser::CoindexedNamedObject> &) { in CheckDependList()
671 const common::Indirection<parser::ArrayElement> &arr, in CheckDependArraySection()
Dtools.cpp828 template <typename T> bool operator()(const common::Indirection<T> &x) { in operator ()()
863 std::get_if<common::Indirection<parser::Expr>>( in operator ()()
893 [](const common::Indirection<parser::AllocateStmt> &) in GetImageControlStmtCoarrayMsg()
898 [](const common::Indirection<parser::DeallocateStmt> &) in GetImageControlStmtCoarrayMsg()
903 [](const common::Indirection<parser::CallStmt> &) in GetImageControlStmtCoarrayMsg()
921 [](const common::Indirection<parser::ChangeTeamConstruct> in GetImageControlStmtLocation()
927 [](const common::Indirection<parser::CriticalConstruct> &construct) { in GetImageControlStmtLocation()
Dcanonicalize-omp.cpp52 if (auto *z{std::get_if<common::Indirection<T>>(&y->u)}) { in GetConstructIf()
Ddata-to-inits.cpp110 [&](const common::Indirection<parser::Variable> &var) { in Scan()
187 [&](const parser::Scalar<common::Indirection<parser::Designator>> in Scan()
189 [&](const common::Indirection<parser::DataImpliedDo> &ido) { in Scan()
Dresolve-names-utils.cpp491 [&](const common::Indirection<parser::StructureComponent> &) { in CheckDataRef()
497 [&](const common::Indirection<parser::ArrayElement> &elem) { in CheckDataRef()
516 [&](const common::Indirection<parser::CoindexedNamedObject> &) { in CheckDataRef()
Dcheck-data.cpp174 std::get_if<parser::Scalar<common::Indirection<parser::Designator>>>( in Leave()
Dcheck-io.h39 const parser::Statement<common::Indirection<parser::FormatStmt>> &);
Drewrite-parse-tree.cpp68 parser::Statement<common::Indirection<parser::StmtFunctionStmt>>;
Dcheck-omp-structure.h187 const common::Indirection<parser::ArrayElement> &, const parser::Name &);
Dassignment.cpp290 template class Fortran::common::Indirection< member in Fortran::common
/external/llvm-project/flang/include/flang/Parser/
Dparse-tree.h322 using LogicalExpr = Logical<common::Indirection<Expr>>; // R1024
323 using DefaultCharExpr = DefaultChar<common::Indirection<Expr>>; // R1025
324 using IntExpr = Integer<common::Indirection<Expr>>; // R1026
325 using ConstantExpr = Constant<common::Indirection<Expr>>; // R1029
363 std::variant<common::Indirection<AccessStmt>,
364 common::Indirection<AllocatableStmt>,
365 common::Indirection<AsynchronousStmt>, common::Indirection<BindStmt>,
366 common::Indirection<CodimensionStmt>, common::Indirection<ContiguousStmt>,
367 common::Indirection<DimensionStmt>, common::Indirection<ExternalStmt>,
368 common::Indirection<IntentStmt>, common::Indirection<IntrinsicStmt>,
[all …]
Duser-state.h115 using resultType = Statement<common::Indirection<LabelDoStmt>>;
120 using resultType = Statement<common::Indirection<EndDoStmt>>;
Dtools.h59 static const A *Unwrap(const common::Indirection<B, COPY> &x) { in Unwrap()
/external/llvm-project/flang/lib/Parser/
Dparse-tree.cpp39 std::holds_alternative<common::Indirection<StructureComponent>>( in EndsInBareName()
52 u = common::Indirection<StructureComponent>::Make(
56 u = common::Indirection<ArrayElement>::Make(
60 u = common::Indirection<CoindexedNamedObject>::Make(
68 : u{common::Indirection<Designator>::Make(std::move(x))} {} in Expr()
70 : u{common::Indirection<FunctionReference>::Make(std::move(x))} {} in Expr()
100 SectionSubscript{Integer{common::Indirection{std::move(expr)}}}); in MakeArrayElementRef()
102 return Designator{DataRef{common::Indirection{std::move(arrayElement)}}}; in MakeArrayElementRef()
107 ArrayElement arrayElement{DataRef{common::Indirection{std::move(sc)}}, in MakeArrayElementRef()
111 SectionSubscript{Integer{common::Indirection{std::move(expr)}}}); in MakeArrayElementRef()
[all …]
Dtools.cpp23 [](const common::Indirection<StructureComponent> &sc) in GetLastName()
25 [](const common::Indirection<ArrayElement> &sc) -> const Name & { in GetLastName()
28 [](const common::Indirection<CoindexedNamedObject> &ci) in GetLastName()
81 [](const common::Indirection<StructureComponent> &sc) in GetFirstName()
83 [](const common::Indirection<ArrayElement> &sc) -> const Name & { in GetFirstName()
86 [](const common::Indirection<CoindexedNamedObject> &ci) in GetFirstName()
130 [](const common::Indirection<CoindexedNamedObject> &x) in GetCoindexedNamedObject()
154 [](const common::Indirection<Designator> &designator) in GetCoindexedNamedObject()
/external/llvm-project/flang/include/flang/Lower/
DUtils.h27 const A &removeIndirection(const Fortran::common::Indirection<A> &a) { in removeIndirection()
/external/llvm-project/flang/include/flang/Evaluate/
Dformatting.h42 llvm::raw_ostream &o, const Fortran::common::Indirection<A, COPYABLE> &x)
Dcall.h42 extern template class Fortran::common::Indirection<Fortran::evaluate::Component,
44 extern template class Fortran::common::Indirection<
/external/llvm-project/flang/include/flang/Semantics/
Dexpression.h80 template <typename T> void Set(const common::Indirection<T> &x) { in Set()
161 template <typename A> MaybeExpr Analyze(const common::Indirection<A> &x) { in Analyze()
306 common::Indirection<parser::FunctionReference>>) { in Analyze()

12