[flang] Fix problems with extended derived types
When looking for a component name in a derived type, also look in the parent type. Before adding a component to a derived type, report an error if it already has one with that name. Check that components are accessible when they are accessed. Add the "parent component" to derived types (i.e. a component with the same name as the parent type). The symbol is marked with the `ParentComp` flag so we can avoid writing it to `.mod` files. Add calls to `add_occurrence()` so that those particular instances of `parser::Name` get their symbol set. Change `DeclareObjectEntity` and `DeclareProcEntity` to use `SourceName` as the name passed in rather than `parser::Name`. Fix some problems in `unparse-with-symbols.cc` on statements that both define and reference names. Fixes flang-compiler/f18#187. Original-commit: flang-compiler/f18@664b9627f2be6dc4212f6904e6f14ee642b473a8 Reviewed-on: https://github.com/flang-compiler/f18/pull/192 Tree-same-pre-rewrite: false
Loading
Please sign in to comment