543b15bca4
A symbol for a common block has `CommonBlockDetails` which contains a list of the symbols that are in the common block. The name of the symbol for the blank common block is the empty string. That preserves the property that every symbol name is a substring of the cooked source. We use the 0-length substring starting at the COMMON statement so that when symbols are sorted by the location of the start of the name it ends up in the right place. Some of the checks on members of common blocks don't happen until the end of the scope. They can't happen earlier because we don't necessarily know the type and attributes. Enhance `test_errors.sh` so that multiple errors can be expected for a single line. Original-commit: flang-compiler/f18@2c4ca6b5d3 Reviewed-on: https://github.com/flang-compiler/f18/pull/286 |
||
---|---|---|
.. | ||
assignment.cc | ||
assignment.h | ||
attr.cc | ||
attr.h | ||
canonicalize-do.cc | ||
canonicalize-do.h | ||
check-do-concurrent.cc | ||
check-do-concurrent.h | ||
CMakeLists.txt | ||
dump-parse-tree.h | ||
expression.cc | ||
expression.h | ||
mod-file.cc | ||
mod-file.h | ||
resolve-labels.cc | ||
resolve-labels.h | ||
resolve-names.cc | ||
resolve-names.h | ||
rewrite-parse-tree.cc | ||
rewrite-parse-tree.h | ||
scope.cc | ||
scope.h | ||
semantics.cc | ||
semantics.h | ||
symbol.cc | ||
symbol.h | ||
type.cc | ||
type.h | ||
unparse-with-symbols.cc | ||
unparse-with-symbols.h |