348ccb784e
Add ObjectEntityDetails and ProcEntityDetails to distinguish between an entity from an object-decl and one from a proc-decl. When we don't know, it stays as EntityDetails until it is resolved. DeclareEntity() in DeclarationVisitor creates this kind of symbol. Add flags to Symbol as a convenient place for boolean flags common to many kinds of symbols. Use it to mark symbols known to be functions or subroutines so that we can report errors when they are used incorrectly. Improve handling of EXTERNAL statement. Handle ProcDecl nodes and add symbols for them. Partial processing of derived types. Data component declarations are processed and added to the derived type. Define TypeBoundProc and TypeBoundGeneric in type.h. Procedure components, type-bound procedures, etc. are not handled yet and nothing is done with the derived type once it is created. Eliminate DerivedTypeDefBuilder in favor of just setting fields in derivedTypeData_. Add GetDeclTypeSpec to go with BeginDeclTypeSpec and EndDeclTypeSpec, to avoid directly access the private variable. Add tests in resolve20.f90 for errors related to procedure declarations. Add missing copyrights to other tests. Original-commit: flang-compiler/f18@40e65c1465 Reviewed-on: https://github.com/flang-compiler/f18/pull/97 Tree-same-pre-rewrite: false |
||
---|---|---|
.. | ||
implicit01.f90 | ||
implicit02.f90 | ||
implicit03.f90 | ||
implicit04.f90 | ||
implicit05.f90 | ||
implicit06.f90 | ||
implicit07.f90 | ||
resolve01.f90 | ||
resolve02.f90 | ||
resolve03.f90 | ||
resolve04.f90 | ||
resolve05.f90 | ||
resolve06.f90 | ||
resolve07.f90 | ||
resolve08.f90 | ||
resolve09.f90 | ||
resolve10.f90 | ||
resolve11.f90 | ||
resolve12.f90 | ||
resolve13.f90 | ||
resolve14.f90 | ||
resolve15.f90 | ||
resolve16.f90 | ||
resolve17.f90 | ||
resolve18.f90 | ||
resolve19.f90 | ||
resolve20.f90 |