[all-commits] [llvm/llvm-project] ee9c91: [flang] Fix bogus branch target error on END SELECT

Peter Klausler via All-commits all-commits at lists.llvm.org
Mon Jun 13 11:43:15 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ee9c9170480a5f628846eb82d300e88d4add45d5
      https://github.com/llvm/llvm-project/commit/ee9c9170480a5f628846eb82d300e88d4add45d5
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2022-06-13 (Mon, 13 Jun 2022)

  Changed paths:
    M flang/lib/Semantics/resolve-labels.cpp
    M flang/test/Semantics/label05.f90
    M flang/test/Semantics/label06.f90
    M flang/test/Semantics/label07.f90

  Log Message:
  -----------
  [flang] Fix bogus branch target error on END SELECT

The scope model used for branch target checking treats a label
on an END SELECT statement as if it were in the previous CASE block.
This makes it illegal to GO TO that label from within any earlier
CASE block in that statement.  Fix by treating the CASE blocks as
nested scopes within the scope of the SELECT construct.

Also, add a "warning:" tag to related warning messages.

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




More information about the All-commits mailing list