flang-compiler / f18

F18 is a front-end for Fortran intended to replace the existing front-end in the Flang compiler
230 stars 48 forks source link

Constraint checks C727 to C730 and most constraints related to attributes #1084

Closed psteinfeld closed 4 years ago

psteinfeld commented 4 years ago

The full list of checked constraints is C727, C728, C729, C730, C743, C755, C759, C778, and C1543.

I added a function to tools.cpp to check to see if a symbol name is the name of an intrinsic type.

The biggest change was to resolve-names.cpp to check to see if attributes were either duplicated or in conflict with each other. I changed all locations where attributes were set to check for duplicates or conflicts.

I also added tests for all checks and annotated the tests and code with the numbers of the constraints being tested/checked.