[all-commits] [llvm/llvm-project] 063c5b: [flang][OpenMP] Added OpenMP 5.0 specification bas...

NimishMishra via All-commits all-commits at lists.llvm.org
Fri Oct 1 20:11:32 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 063c5bc31b89d85aba9ea7c2aa0d2440ec468ed2
      https://github.com/llvm/llvm-project/commit/063c5bc31b89d85aba9ea7c2aa0d2440ec468ed2
  Author: Nimish Mishra <neelam.nimish at gmail.com>
  Date:   2021-10-02 (Sat, 02 Oct 2021)

  Changed paths:
    M flang/lib/Semantics/check-directive-structure.h
    A flang/test/Semantics/omp-sections02.f90
    A flang/test/Semantics/omp-sections03.f90
    M flang/test/Semantics/omp-simd01.f90

  Log Message:
  -----------
  [flang][OpenMP] Added OpenMP 5.0 specification based semantic checks for sections construct and test case for simd construct

According to OpenMP 5.0 spec document, the following semantic restrictions have been dealt with in this patch.

1. [sections construct] Orphaned section directives are prohibited. That is, the section directives must appear within the sections construct and must not be encountered elsewhere in the sections region.

 Semantic checks for the following are not necessary, since use of orphaned section construct (i.e. without an enclosing sections directive) throws parser errors and control flow never reaches the semantic checking phase. Added a test case for the same.

2. [sections construct] Must be a structured block

Added test case and made changes to branching logic

3. [simd construct] Must be a structured block / A program that branches in or out of a function with declare simd is non conforming

4. Fixed !$omp do's handling of unlabeled CYCLEs

Reviewed By: kiranchandramohan

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




More information about the All-commits mailing list