[all-commits] [llvm/llvm-project] ac9641: [flang] Support known constant lengths in DynamicType

Peter Klausler via All-commits all-commits at lists.llvm.org
Thu Jun 3 14:25:42 PDT 2021


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

  Changed paths:
    M flang/include/flang/Evaluate/fold.h
    M flang/include/flang/Evaluate/type.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/formatting.cpp
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Evaluate/type.cpp
    M flang/lib/Evaluate/variable.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/scope.cpp
    M flang/test/Semantics/array-constr-values.f90
    M flang/test/Semantics/data02.f90
    M flang/test/Semantics/separate-mp02.f90

  Log Message:
  -----------
  [flang] Support known constant lengths in DynamicType

The constexpr-capable class evaluate::DynamicType represented
CHARACTER length only with a nullable pointer into the declared
parameters of types in the symbol table, which works fine for
anything with a declaration but turns out to not suffice to
describe the results of the ACHAR() and CHAR() intrinsic
functions.  So extend DynamicType to also accommodate known
constant CHARACTER lengths, too; use them for ACHAR & CHAR;
clean up several use sites and fix regressions found in test.

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




More information about the All-commits mailing list