/// FIR to LLVM translation pass options.
struct FIRToLLVMPassOptions {
// Do not fail when type descriptors are not found when translating
- // operations that uses them at the LLVM level like fir.embox. Instead,
+ // operations that use them at the LLVM level like fir.embox. Instead,
// just use a null pointer.
// This is useful to test translating programs manually written where a
// frontend did not generate type descriptor data structures. However, note
- // that this programs would crash at runtime if the derived type descriptors
- // are required by the runtime, so this only an option to help debugging.
+ // that such programs would crash at runtime if the derived type descriptors
+ // are required by the runtime, so this is only an option to help debugging.
bool ignoreMissingTypeDescriptors = false;
};
bool IsParameterizedDerivedTypeInstantiation() const {
return kind_ == Kind::DerivedType && !symbol_;
}
- bool IsKindParameterizedDerivedType() const;
+ bool IsDerivedTypeWithKindParameter() const;
Symbol *symbol() { return symbol_; }
const Symbol *symbol() const { return symbol_; }
SemanticsContext &context() const { return context_; }
for (Scope &child : scope.children()) {
ComputeOffsets(context_, child);
}
- if (scope.symbol() && scope.IsKindParameterizedDerivedType()) {
+ if (scope.symbol() && scope.IsDerivedTypeWithKindParameter()) {
return; // only process instantiations of kind parameterized derived types
}
if (scope.alignment().has_value()) {
*suffix += "."s + std::to_string(*instantiatedValue);
} else {
suffix = "."s + std::to_string(*instantiatedValue);
- ;
}
}
}
return info;
}
const DerivedTypeSpec *derivedTypeSpec{dtScope.derivedTypeSpec()};
- if (!derivedTypeSpec && !dtScope.IsKindParameterizedDerivedType() &&
+ if (!derivedTypeSpec && !dtScope.IsDerivedTypeWithKindParameter() &&
dtScope.symbol()) {
// This derived type was declared (obviously, there's a Scope) but never
// used in this compilation (no instantiated DerivedTypeSpec points here).
AddValue(dtValues, derivedTypeSchema_, "name"s,
SaveNameAsPointerTarget(scope, typeName));
bool isPDTdefinitionWithKindParameters{
- !derivedTypeSpec && dtScope.IsKindParameterizedDerivedType()};
+ !derivedTypeSpec && dtScope.IsDerivedTypeWithKindParameter()};
if (!isPDTdefinitionWithKindParameters) {
auto sizeInBytes{static_cast<common::ConstantSubscript>(dtScope.size())};
if (auto alignment{dtScope.alignment().value_or(0)}) {
return false;
}
-bool Scope::IsKindParameterizedDerivedType() const {
+bool Scope::IsDerivedTypeWithKindParameter() const {
if (!IsDerivedType()) {
return false;
}
if (const Scope * parent{GetDerivedTypeParent()}) {
- if (parent->IsKindParameterizedDerivedType()) {
+ if (parent->IsDerivedTypeWithKindParameter()) {
return true;
}
}