[PATCH] D79798: [flang] Constraint checks C751 to C760

Pete Steinfeld via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 14 13:03:50 PDT 2020


PeteSteinfeld updated this revision to Diff 264062.
PeteSteinfeld added a comment.

1. Updating D79798 <https://reviews.llvm.org/D79798>: [flang] Constraint checks C751 to C760 #
2. Enter a brief description of the changes included in this update.
3. The first line is used as subject, next lines as comment. #
4. If you intended to create a new revision, use:
5. $ arc diff --create

Responses to review comments

I changed the error messages to specify that errors in specification
expressions could arise from either bad derived type components or type
parameters.

I moved error detection for constraint C756 from resolve-names.cpp to
check-declarations.cpp.

I collapsed a nested `if` statement to a single `if` with a more complex
condition.

In cases where we detect a type param that was not declared, I created a symbol
marked as erroneous.  That avoids subsequent semantic process for expressions
containing the symbol.  This change caused me to adjust tests resolve33.f90 and
resolve34.f90.  Also, I avoided putting out error messages for erroneous type
param symbols in `OkToAddComponent()` in resolve-names.cpp and in 
`EvaluateParameters()`, type.cpp.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D79798/new/

https://reviews.llvm.org/D79798

Files:
  flang/lib/Evaluate/check-expression.cpp
  flang/lib/Semantics/check-declarations.cpp
  flang/lib/Semantics/resolve-names.cpp
  flang/lib/Semantics/type.cpp
  flang/test/Semantics/resolve33.f90
  flang/test/Semantics/resolve34.f90
  flang/test/Semantics/resolve79.f90
  flang/test/Semantics/resolve89.f90

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D79798.264062.patch
Type: text/x-patch
Size: 17424 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200514/cd815ac5/attachment-0001.bin>


More information about the llvm-commits mailing list