Home
last modified time | relevance | path

Searched refs:ArrayConstructor (Results 1 – 22 of 22) sorted by relevance

/llvm-project/flang/include/flang/Evaluate/
H A Dexpression.h461 // Note that there are specializations of ArrayConstructor for character
463 // but that an empty ArrayConstructor can be constructed for any type
466 class ArrayConstructor : public ArrayConstructorValues<RESULT> {
470 DEFAULT_CONSTRUCTORS_AND_ASSIGNMENTS(ArrayConstructor)
471 explicit ArrayConstructor(Base &&values) : Base{std::move(values)} {}
472 template <typename T> explicit ArrayConstructor(const Expr<T> &) {}
479 class ArrayConstructor<Type<TypeCategory::Character, KIND>>
484 DEFAULT_CONSTRUCTORS_AND_ASSIGNMENTS(ArrayConstructor)
485 explicit ArrayConstructor(Base &&values) : Base{std::move(values)} {}
486 template <typename T> explicit ArrayConstructor(cons
[all...]
H A Dshape.h189 Result operator()(const ArrayConstructor<T> &aconst) const {
/llvm-project/flang/lib/Evaluate/
H A Dexpression.cpp38 [](const ArrayConstructor<Result> &a) -> T { in LEN()
182 auto ArrayConstructor<Type<TypeCategory::Character, KIND>>::set_LEN( in operator ==()
183 Expr<SubscriptInteger> &&len) -> ArrayConstructor & {
189 bool ArrayConstructor<Type<TypeCategory::Character, KIND>>::operator==( in operator ==()
190 const ArrayConstructor &that) const { in operator ==()
195 bool ArrayConstructor<SomeDerived>::operator==( in operator ==()
196 const ArrayConstructor &that) const { in operator ==()
H A Dfold-implementation.h144 Expr<T> FoldOperation(FoldingContext &, ArrayConstructor<T> &&);
278 std::unique_ptr<ArrayConstructor<T>> array; in ApplyComponent()
292 array = std::make_unique<ArrayConstructor<T>>(*typedExpr); in ApplyComponent()
313 // Fold the ArrayConstructor<> into a Constant<>. in ApplyComponent()
1269 Expr<T> FoldArray(ArrayConstructor<T> &&array) { in FoldArray()
1365 Expr<T> FoldOperation(FoldingContext &context, ArrayConstructor<T> &&array) { in FromArrayConstructor()
1390 ArrayConstructor<T> result{expr};
1398 } else if (const auto *a{UnwrapExpr<ArrayConstructor<T>>(expr)}) { in MapOperation()
1424 // Given a flat ArrayConstructor<T> and a shape, it wraps the array in ArrayConstructorFromMold()
1429 FoldingContext &context, ArrayConstructor< in ArrayConstructorFromMold()
[all...]
H A Dformatting.cpp541 llvm::raw_ostream &ArrayConstructor<T>::AsFortran(llvm::raw_ostream &o) const {
549 ArrayConstructor<Type<TypeCategory::Character, KIND>>::AsFortran( in AsFortran()
559 llvm::raw_ostream &ArrayConstructor<SomeDerived>::AsFortran( in AsFortran()
H A Dcheck-expression.cpp300 template <typename T> bool operator()(const ArrayConstructor<T> &) const { in operator ()()
1182 template <typename T> Result operator()(const ArrayConstructor<T> &) const {
H A Dshape.cpp68 if (auto *constructor{UnwrapExpr<ArrayConstructor<ExtentType>>(arrayExpr)}) { in AsShapeResult()
101 return ExtentExpr{ArrayConstructor<ExtentType>{std::move(values)}}; in AsConstantShape()
/llvm-project/flang/include/flang/Lower/
H A DConvertArrayConstructor.h24 class ArrayConstructor; variable
38 const Fortran::evaluate::ArrayConstructor<T> &expr,
/llvm-project/flang/unittests/Runtime/
H A DArrayConstructor.cpp1 //===-- flang/unittests/Runtime/ArrayConstructor.cpp-------------*- C++ -*-===//
22 TEST(ArrayConstructor, Basic) { in TEST() argument
84 TEST(ArrayConstructor, Character) { in TEST()
135 TEST(ArrayConstructor, CharacterRuntimeCheck) { in TEST() argument
86 TEST(ArrayConstructor,Character) TEST() argument
H A DCMakeLists.txt4 ArrayConstructor.cpp
/llvm-project/flang/lib/Lower/
H A DConvertArrayConstructor.cpp17 #include "flang/Optimizer/Builder/Runtime/ArrayConstructor.h"
483 // This is the code that analyses the evaluate::ArrayConstructor<T>,
510 const Fortran::evaluate::ArrayConstructor<T> &, in collect()
524 const Fortran::evaluate::ArrayConstructor<Fortran::evaluate::SomeDerived> in collect()
542 const Fortran::evaluate::ArrayConstructor<Character<Kind>> &arrayCtorExpr, in collect()
572 /// evaluate::ArrayConstructor before they are lowered. It does not generate any
579 const Fortran::evaluate::ArrayConstructor<T> &arrayCtorExpr);
600 const Fortran::evaluate::ArrayConstructor<T> &arrayCtorExpr) { in ArrayCtorAnalysis()
665 const Fortran::evaluate::ArrayConstructor<T> &arrayCtorExpr, in selectArrayCtorLoweringStrategy()
777 /// Entry point for evaluate::ArrayConstructor lowerin in genAcValue()
[all...]
H A DConvertExprToHLFIR.cpp1575 gen(const Fortran::evaluate::ArrayConstructor<T> &arrayCtor) { in gen()
H A DConvertExpr.cpp1372 ExtValue genval(const Fortran::evaluate::ArrayConstructor<A> &) { in gen()
6464 CC genarr(const Fortran::evaluate::ArrayConstructor<A> &x) { in genarr()
/llvm-project/flang/lib/Optimizer/Builder/
H A DCMakeLists.txt17 Runtime/ArrayConstructor.cpp
/llvm-project/flang/lib/Parser/
H A Dexpr-parsers.cpp33 construct<ArrayConstructor>(
79 construct<Expr>(Parser<ArrayConstructor>{}),
H A Dunparse.cpp426 void Unparse(const ArrayConstructor &x) { // R769 in Unparse()
/llvm-project/flang/include/flang/Lower/Support/
H A DUtils.h289 getHashValue(const Fortran::evaluate::ArrayConstructor<A> &x) { in getHashValue()
548 static bool isEqual(const Fortran::evaluate::ArrayConstructor<A> &x, in isEqual()
549 const Fortran::evaluate::ArrayConstructor<A> &y) { in isEqual()
/llvm-project/flang/include/flang/Semantics/
H A Dexpression.h292 MaybeExpr Analyze(const parser::ArrayConstructor &);
/llvm-project/flang/examples/FeatureList/
H A DFeatureList.cpp125 READ_FEATURE(ArrayConstructor) in READ_FEATURE_CUST()
/llvm-project/flang/include/flang/Parser/
H A Ddump-parse-tree.h143 NODE(parser, ArrayConstructor) in NODE()
H A Dparse-tree.h1279 WRAPPER_CLASS(ArrayConstructor, AcSpec);
1797 LiteralConstant, common::Indirection<Designator>, ArrayConstructor,
/llvm-project/flang/lib/Semantics/
H A Dexpression.cpp1547 // all happen to have the same actual type T into one ArrayConstructor<T>.
1589 return AsMaybeExpr(ArrayConstructor<T>{type_->GetDerivedTypeSpec(), in LengthIfGood()
1593 ArrayConstructor<T> result{MakeSpecific<T>(std::move(values_))}; in NeedLength()
1969 MaybeExpr ExpressionAnalyzer::Analyze(const parser::ArrayConstructor &array) { in Analyze()