[all-commits] [llvm/llvm-project] dfecbc: [flang] CheckConformance: tristate-ify result

Peter Klausler via All-commits all-commits at lists.llvm.org
Fri Jun 4 11:19:41 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: dfecbcae0d6434fa1daafe66ba5d90f816d4268b
      https://github.com/llvm/llvm-project/commit/dfecbcae0d6434fa1daafe66ba5d90f816d4268b
  Author: peter klausler <pklausler at nvidia.com>
  Date:   2021-06-04 (Fri, 04 Jun 2021)

  Changed paths:
    M flang/include/flang/Evaluate/characteristics.h
    M flang/include/flang/Evaluate/shape.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Evaluate/fold-implementation.h
    M flang/lib/Evaluate/shape.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/pointer-assignment.cpp

  Log Message:
  -----------
  [flang] CheckConformance: tristate-ify result

To ensure that errors are emitted by CheckConformance and
its callers in all situations, it's necessary for the returned result
of that function to distinguish between three possible
outcomes: the arrays are known to conform at compilation time,
the arrays are known to not conform (and a message has been
produced), and an indeterminate result in which is not possible
to determine conformance.  So convert CheckConformance's
result into an optional<bool>, and convert its confusing
Boolean flag arguments into a bit-set of named flags too.

Differential Revision: https://reviews.llvm.org/D103654




More information about the All-commits mailing list