[flang] Rework how DeclTypeSpecs are stored
Now DeclTypeSpecs are stored in the scope so that they remain available as long as the scope exists. DeclTypeSpecs for intrinsic types are stored in the global scope; those for derived types are in the current scope. They can contains type parameter values so they can't be reused. Add `Semantics::MakeIntrinsicTypeSpec` to simplify creating DeclTypeSpecs for intrinsic types. Replace `std::optional<DeclTypeSpec>` with `DeclTypeSpec *` as they do not need to be copied around. Also fix a small bug with writing `class(t(...))` to the module file -- the type parameters were missing. Original-commit: flang-compiler/f18@e4744418fc1cdc9728bba4b9ecde51cb5bdd2efa Reviewed-on: https://github.com/flang-compiler/f18/pull/247 Tree-same-pre-rewrite: false
Loading
Please sign in to comment