[all-commits] [llvm/llvm-project] 571673: [flang] Disallow BOZ literal constants as output l...

Pete Steinfeld via All-commits all-commits at lists.llvm.org
Tue Jul 27 13:13:11 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 571673ce390a2f4973946c06801dfb2037115750
      https://github.com/llvm/llvm-project/commit/571673ce390a2f4973946c06801dfb2037115750
  Author: Peter Steinfeld <psteinfeld at nvidia.com>
  Date:   2021-07-27 (Tue, 27 Jul 2021)

  Changed paths:
    M flang/include/flang/Evaluate/tools.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-io.cpp
    M flang/lib/Semantics/data-to-inits.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/test/Semantics/boz-literal-constants.f90

  Log Message:
  -----------
  [flang] Disallow BOZ literal constants as output list items

According to C7109, "A boz-literal-constant shall appear only as a
data-stmt-constant in a DATA statement, or where explicitly allowed in
16.9 as an actual argument of an intrinsic procedure."  This change
enforces that constraint for output list items.

I also added a general interface to determine if an expression is a BOZ
literal constant and changed all of the places I could find where it
could be used.

I also added a test.

This change stemmed from the following issue --
  https://gitlab-master.nvidia.com/fortran/f18-stage/issues/108

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




More information about the All-commits mailing list