11#ifndef FORTRAN_RUNTIME_DERIVED_H_
12#define FORTRAN_RUNTIME_DERIVED_H_
14#include "flang/Common/api-attrs.h"
16namespace Fortran::runtime::typeInfo {
20namespace Fortran::runtime {
26RT_API_ATTRS
int Initialize(
const Descriptor &,
const typeInfo::DerivedType &,
27 Terminator &,
bool hasStat =
false,
const Descriptor *errMsg =
nullptr);
33RT_API_ATTRS
int InitializeClone(
const Descriptor &,
const Descriptor &,
34 const typeInfo::DerivedType &, Terminator &,
bool hasStat =
false,
35 const Descriptor *errMsg =
nullptr);
38RT_API_ATTRS
void Finalize(
39 const Descriptor &,
const typeInfo::DerivedType &derived, Terminator *);
43RT_API_ATTRS
void Destroy(
const Descriptor &,
bool finalize,
44 const typeInfo::DerivedType &, Terminator *);
48RT_API_ATTRS
bool HasDynamicComponent(
const Descriptor &);