[all-commits] [llvm/llvm-project] f1983f: [flang] Make extension explicit: exponent-letter m...

Emil Kieri via All-commits all-commits at lists.llvm.org
Sat May 28 13:06:38 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f1983feaa1962b37e590dbf7875481210ace6f17
      https://github.com/llvm/llvm-project/commit/f1983feaa1962b37e590dbf7875481210ace6f17
  Author: Emil Kieri <j.emil.kieri at gmail.com>
  Date:   2022-05-28 (Sat, 28 May 2022)

  Changed paths:
    M flang/docs/Extensions.md
    M flang/include/flang/Common/Fortran-features.h
    M flang/lib/Semantics/expression.cpp
    R flang/test/Semantics/kinds04.f90
    A flang/test/Semantics/kinds04_q10.f90
    A flang/test/Semantics/kinds04_q16.f90
    A flang/test/Semantics/kinds05.f90

  Log Message:
  -----------
  [flang] Make extension explicit: exponent-letter matching kind-param

As an extension for REAL literals, we allow an exponent letter which
matches an explicit kind-param. The standard requires the exponent
to be 'E' if a kind-param is present. This patch
 - documents this extension in Extensions.md
 - enables a portability warning if it is used with -pedantic

The test case for this, kinds05.f90, needs D125804, which makes
test_errors.py test warnings as well, to actually test the warnings.
I include it already now to keep things together, it will do no harm
(I hope ...).

We also add WARNING-directives to the test kinds04.f90 in preparation
for D125804. As the exponent-letter 'Q' does not imply the same kind
on all platforms, the emitted warnings are platform-dependent.
Therefore, the test is duplicated into two variants which are run
conditionally.

Finally, we promote the portability warning for when the exponent letter
is neither 'E' nor matching the kind-param to a standard warning.

Reviewed By: klausler

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




More information about the All-commits mailing list