/llvm-project/flang/lib/Evaluate/ |
H A D | type.cpp | 29 if (auto dynamicType{evaluate::DynamicType::From(*type)}) { in IsDescriptor() 119 DynamicType::DynamicType(int k, const semantics::ParamValue &pv) in DynamicType() function in Fortran::evaluate::DynamicType 133 bool DynamicType::operator==(const DynamicType &that) const { in operator ==() 141 std::optional<Expr<SubscriptInteger>> DynamicType::GetCharLength() const { in GetCharLength() 154 std::size_t DynamicType::GetAlignment( in GetAlignment() 179 std::optional<Expr<SubscriptInteger>> DynamicType::MeasureSizeInBytes( in MeasureSizeInBytes() 213 bool DynamicType::IsAssumedLengthCharacter() const { in IsAssumedLengthCharacter() 218 bool DynamicType in IsNonConstantLengthCharacter() [all...] |
H A D | intrinsics-library.cpp | 36 // std::vector<DynamicType>, but constexpr only. 38 static constexpr DynamicType values[]{FortranType{}.GetType()...}; 39 static constexpr const DynamicType *start{&values[0]}; 40 static constexpr const DynamicType *end{start + sizeof...(FortranType)}; 43 static constexpr const DynamicType *start{nullptr}, *end{nullptr}; in Create() 51 using const_iterator = const DynamicType *; in operator []() 54 const DynamicType &operator[](size_t i) const { return *(startPtr + i); } 56 const DynamicType *startPtr{nullptr}; 57 const DynamicType *endPtr{nullptr}; in operator ==() 61 const TypeVector &lhs, const std::vector<DynamicType> in operator ==() [all...] |
H A D | call.cpp | 41 std::optional<DynamicType> ActualArgument::GetType() const { in GetType() 45 return DynamicType::AssumedType(); in GetType() 87 std::optional<DynamicType> ProcedureDesignator::GetType() const { in GetType() 95 return DynamicType::From(GetSymbol()); in GetType()
|
H A D | initial-image.cpp | 77 AsConstantHelper(FoldingContext &context, const DynamicType &type, in AsConstantHelper() 132 auto componentType{DynamicType::From(component)}; in Test() 196 const DynamicType &type_; 205 const DynamicType &type, std::optional<std::int64_t> charLength, in AsConstant()
|
H A D | fold-designator.cpp | 29 if (auto type{DynamicType::From(symbol)}) { in DEFINE_DEFAULT_CONSTRUCTORS_AND_ASSIGNMENTS() 50 if (auto type{DynamicType::From(array)}) { in FoldDesignator() 217 NamedEntity &&entity, const Shape &shape, const DynamicType &elementType, in OffsetToArrayRef() 277 } else if (std::optional<DynamicType> type{DynamicType::From(symbol)}) { in OffsetToDataRef() 328 } else if (auto type{DynamicType::From(symbol)}) { in OffsetToDesignator()
|
H A D | intrinsics.cpp | 1613 // Finds a built-in derived type and returns it as a DynamicType. in CheckAndPushMinMaxArgument() 1614 static DynamicType GetBuiltinDerivedType( in CheckAndPushMinMaxArgument() 1634 return DynamicType{derived}; in CheckAtomicKind() 1741 std::optional<DynamicType> type{arg.GetType()}; in Match() 1934 std::optional<DynamicType> type{arg->GetType()}; in Match() 2296 std::optional<DynamicType> resultType; in Match() 2306 resultType = DynamicType{TypeCategory::Integer, in Match() 2313 DynamicType{*category, defaults.GetDefaultKind(TypeCategory::Real)}; in Match() 2318 resultType = DynamicType{*category, defaults.doublePrecisionKind()}; in Match() 2323 resultType = DynamicType{TypeCategor in Match() [all...] |
H A D | expression.cpp | 89 std::optional<DynamicType> ExpressionBase<A>::GetType() const { in GetType() 94 [&](const auto &x) -> std::optional<DynamicType> { in GetType() 128 DynamicType Parentheses<SomeDerived>::GetType() const { in operator ==() 267 DynamicType StructureConstructor::GetType() const { return result_.GetType(); } in GetParentComponentSymbol()
|
H A D | variable.cpp | 265 if (auto dyType{DynamicType::From(ultimate)}) { in SymbolLEN() 273 if (auto dyType2{DynamicType::From(*object->init())}) { in SymbolLEN() 644 std::optional<DynamicType> Designator<T>::GetType() const { in GetDummyArgPosition() 652 return DynamicType{T::kind, *n}; in AreSameSymbol() 655 return DynamicType{TypeCategory::Character, T::kind}; in AreSameSymbol() 659 return DynamicType::From(*symbol); in AreSameSymbol()
|
H A D | tools.cpp | 31 if (auto dyType{DynamicType::From(ref.GetLastSymbol())}) { in AsGenericExpr() 798 const DynamicType &type, Expr<SomeType> &&x) { in IsAssumedRank() 866 const DynamicType &to, std::optional<Expr<SomeType>> &&x) { in IsProcedurePointerTarget() 876 if (auto symType{DynamicType::From(symbol)}) { in IsObjectPointer() 1326 FoldingContext &context, const DynamicType &toType, in GetBoundSymbol() 1331 DynamicType sizedType{FROM, toType.kind()}; in AreEquivalentInInterface() 1371 FoldingContext &context, const DynamicType &toType, in CheckForCoindexedObject() 1419 const Expr<SomeType> &expr, const DynamicType &type) { 1505 auto xType{DynamicType::From(*xSym)}; in IsElementalProcedure() 1506 auto yType{DynamicType in IsElementalProcedure() [all...] |
/llvm-project/flang/include/flang/Evaluate/ |
H A D | type.h | 87 // DynamicType is meant to be suitable for use as the result type for 95 class DynamicType { 97 constexpr DynamicType(TypeCategory cat, int k) : category_{cat}, kind_{k} { 100 DynamicType(int charKind, const semantics::ParamValue &len); 103 constexpr DynamicType(int k, std::int64_t len) in DynamicType() 108 explicit constexpr DynamicType( 115 CONSTEXPR_CONSTRUCTORS_AND_ASSIGNMENTS(DynamicType) in CONSTEXPR_CONSTRUCTORS_AND_ASSIGNMENTS() 121 static constexpr DynamicType TypelessIntrinsicArgument() { in CONSTEXPR_CONSTRUCTORS_AND_ASSIGNMENTS() 122 DynamicType result; in CONSTEXPR_CONSTRUCTORS_AND_ASSIGNMENTS() 128 static constexpr DynamicType UnlimitedPolymorphi in UnlimitedPolymorphic() 96 constexpr DynamicType(TypeCategory cat, int k) : category_{cat}, kind_{k} { DynamicType() function 102 constexpr DynamicType(int k, std::int64_t len) DynamicType() function 114 CONSTEXPR_CONSTRUCTORS_AND_ASSIGNMENTS(DynamicType) CONSTEXPR_CONSTRUCTORS_AND_ASSIGNMENTS() argument 254 constexpr DynamicType() {} DynamicType() function [all...] |
H A D | intrinsics-library.h | 22 class DynamicType; variable 43 DynamicType resultType, const std::vector<DynamicType> &argTypes);
|
H A D | characteristics.h | 66 explicit TypeAndShape(DynamicType t) : type_{t}, shape_{Shape{}} { 69 TypeAndShape(DynamicType t, int rank) : type_{t}, shape_{Shape(rank)} { 72 TypeAndShape(DynamicType t, Shape &&s) : type_{t}, shape_{std::move(s)} { 75 TypeAndShape(DynamicType t, std::optional<Shape> &&s) : type_{t} { 165 DynamicType type() const { return type_; } in type() 166 TypeAndShape &set_type(DynamicType t) { in set_type() 213 DynamicType type_; 231 explicit DummyDataObject(DynamicType t) : type{t} {} in DummyDataObject() 317 explicit FunctionResult(DynamicType); 338 void SetType(DynamicType in GetTypeAndShape() [all...] |
H A D | call.h | 111 std::optional<DynamicType> GetType() const; 218 std::optional<DynamicType> GetType() const; 290 std::optional<DynamicType> GetType() const { in GetType()
|
H A D | expression.h | 93 std::optional<DynamicType> GetType() const; 182 std::optional<DynamicType>, void> in GetType() 244 DynamicType GetType() const; 474 static constexpr DynamicType GetType() { return Result::GetType(); } 490 static constexpr DynamicType GetType() { return Result::GetType(); } 516 constexpr DynamicType GetType() const { return result_.GetType(); } 683 static constexpr DynamicType GetType() { return Result::GetType(); } 776 DynamicType GetType() const;
|
H A D | constant.h | 129 constexpr DynamicType GetType() const { return result_.GetType(); } 208 DynamicType GetType() const { return {KIND, length_}; }
|
/llvm-project/flang/lib/Semantics/ |
H A D | check-select-type.cpp | 23 TypeCaseValues(SemanticsContext &c, const evaluate::DynamicType &t) in TypeCaseValues() 41 } else if (std::optional<evaluate::DynamicType> type{GetGuardType(guard)}) { in AddTypeCase() 52 std::optional<evaluate::DynamicType> GetGuardType( in GetGuardType() 57 -> std::optional<evaluate::DynamicType> { in GetGuardType() 61 return evaluate::DynamicType::From(typeSpec.declTypeSpec); in GetGuardType() 64 -> std::optional<evaluate::DynamicType> { in GetGuardType() 66 return evaluate::DynamicType(*derivedTypeSpec); in GetGuardType() 75 const evaluate::DynamicType &guardDynamicType) { in PassesChecksOnGuard() 150 std::optional<evaluate::DynamicType> guardTypeDynamic) in TypeCase() 155 void SetGuardType(std::optional<evaluate::DynamicType> guardTypeDynamic) { in SetGuardType() [all …]
|
H A D | expression.cpp | 51 struct DynamicTypeWithLength : public DynamicType { 52 explicit DynamicTypeWithLength(const DynamicType &t) : DynamicType{t} {} in DynamicTypeWithLength() 83 DynamicTypeWithLength type{DynamicType{kind, len}}; in AnalyzeTypeSpec() 91 return DynamicTypeWithLength{DynamicType{category, kind}}; in AnalyzeTypeSpec() 96 return DynamicTypeWithLength{DynamicType{*derived}}; 150 void ConvertBOZ(std::optional<DynamicType> *thisType, std::size_t, 151 std::optional<DynamicType> otherType); 154 RelationalOperator, const DynamicType &, const DynamicType [all...] |
H A D | tools.cpp | 129 const std::optional<evaluate::DynamicType> &lhsType, in IsDefinedAssignment() 130 const std::optional<evaluate::DynamicType> &rhsType) { in IsDefinedAssignment() 135 const std::optional<evaluate::DynamicType> &lhsType, int lhsRank, in IsDefinedAssignment() 136 const std::optional<evaluate::DynamicType> &rhsType, int rhsRank) { in IsDefinedAssignment() 163 const evaluate::DynamicType &type0, int rank0, in IsIntrinsicRelational() 164 const evaluate::DynamicType &type1, int rank1) { in IsIntrinsicRelational() 184 bool IsIntrinsicNumeric(const evaluate::DynamicType &type0) { in IsIntrinsicLogical() 187 bool IsIntrinsicNumeric(const evaluate::DynamicType &type0, int rank0, in IsIntrinsicLogical() 188 const evaluate::DynamicType &type1, int rank1) { in IsIntrinsicLogical() 194 bool IsIntrinsicLogical(const evaluate::DynamicType [all...] |
H A D | check-allocate.cpp | 25 std::optional<evaluate::DynamicType> sourceExprType; 308 const DeclTypeSpec &type1, const evaluate::DynamicType &type2) { in IsTypeCompatible() 391 const DeclTypeSpec &type1, const evaluate::DynamicType &type2) { in HaveCompatibleTypeParameters() 438 const DeclTypeSpec &type1, const evaluate::DynamicType &type2) { in HaveCompatibleLengths() 663 const evaluate::DynamicType &sourceType{ in RunCoarrayRelatedChecks()
|
H A D | check-case.cpp | 24 CaseValues(SemanticsContext &c, const evaluate::DynamicType &t) in CaseValues() 217 const evaluate::DynamicType &caseExprType_; in ReportConflictingCases() 234 const evaluate::DynamicType &exprType; in Test()
|
H A D | data-to-inits.cpp | 127 const SomeExpr &, const evaluate::DynamicType &); 210 if (const auto dynamicType{evaluate::DynamicType::From(*name.symbol)}) { in Scan() 287 const SomeExpr &expr, const evaluate::DynamicType &type) { in ConvertElement() 575 if (auto dyType{evaluate::DynamicType::From(component)}) { in PopulateWithComponentDefaults() 705 if (auto dyType{evaluate::DynamicType::From(s)}) { in IncorporateExplicitInitialization() 917 } else if (auto symbolType{evaluate::DynamicType::From(symbol)}) { in ConstructInitializer()
|
/llvm-project/mlir/lib/IR/ |
H A D | ExtensibleDialect.cpp | 89 detail::TypeUniquer::registerType<DynamicType>(&getContext(), getTypeID()); in registerInTypeUniquer() 127 DynamicType DynamicType::get(DynamicTypeDefinition *typeDef, in get() 132 return detail::TypeUniquer::getWithTypeID<DynamicType>( in get() 136 DynamicType 137 DynamicType::getChecked(function_ref<InFlightDiagnostic()> emitError, in getChecked() 143 return detail::TypeUniquer::getWithTypeID<DynamicType>( in getChecked() 147 DynamicTypeDefinition *DynamicType::getTypeDef() { return getImpl()->typeDef; } in getTypeDef() 149 ArrayRef<Attribute> DynamicType::getParams() { return getImpl()->params; } in getParams() 151 bool DynamicType::classof(Type type) { in classof() 155 ParseResult DynamicType::parse(AsmParser &parser, in parse() [all …]
|
/llvm-project/flang/include/flang/Semantics/ |
H A D | tools.h | 73 const std::optional<evaluate::DynamicType> &lhsType, int lhsRank, 74 const std::optional<evaluate::DynamicType> &rhsType, int rhsRank); 77 const evaluate::DynamicType &, int, const evaluate::DynamicType &, int); 78 bool IsIntrinsicNumeric(const evaluate::DynamicType &); 80 const evaluate::DynamicType &, int, const evaluate::DynamicType &, int); 81 bool IsIntrinsicLogical(const evaluate::DynamicType &); 83 const evaluate::DynamicType &, int, const evaluate::DynamicType [all...] |
/llvm-project/mlir/include/mlir/IR/ |
H A D | ExtensibleDialect.h | 37 class DynamicType; variable 293 friend DynamicType; variable 312 class DynamicType 313 : public Type::TypeBase<DynamicType, Type, detail::DynamicTypeStorage, 322 static DynamicType get(DynamicTypeDefinition *typeDef, 328 static DynamicType getChecked(function_ref<InFlightDiagnostic()> emitError, 350 DynamicType &parsedType);
|
/llvm-project/clang/lib/StaticAnalyzer/Checkers/ |
H A D | DynamicTypeChecker.cpp | 54 void reportTypeError(QualType DynamicType, QualType StaticType, 63 void DynamicTypeChecker::reportTypeError(QualType DynamicType, in reportTypeError() argument 71 QualType::print(DynamicType.getTypePtr(), Qualifiers(), OS, C.getLangOpts(), in reportTypeError()
|