From: Roman Lebedev Date: Fri, 1 Feb 2019 22:43:08 +0000 (+0000) Subject: Revert "[AST][OpenMP] OpenMP Sections / Section constructs contain Structured blocks" X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8ca0275b63781acc0dbd0ec4702633375564211b;p=clang Revert "[AST][OpenMP] OpenMP Sections / Section constructs contain Structured blocks" Further reviews (D57594, D57615) have revealed that this was not reviewed, and that the differential's description was not read during the review, thus rendering this commit invalid. This reverts commit r352882. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@352933 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Sema/SemaOpenMP.cpp b/lib/Sema/SemaOpenMP.cpp index 6b345bfd23..6716329e26 100644 --- a/lib/Sema/SemaOpenMP.cpp +++ b/lib/Sema/SemaOpenMP.cpp @@ -5971,13 +5971,6 @@ StmtResult Sema::ActOnOpenMPSectionsDirective(ArrayRef Clauses, return StmtError(); } - // 1.2.2 OpenMP Language Terminology - // Structured block - An executable statement with a single entry at the - // top and a single exit at the bottom. - // The point of exit cannot be a branch out of the structured block. - // longjmp() and throw() must not violate the entry/exit criteria. - cast(AStmt)->getCapturedDecl()->setNothrow(); - setFunctionHasBranchProtectedScope(); return OMPSectionsDirective::Create(Context, StartLoc, EndLoc, Clauses, AStmt, @@ -5992,13 +5985,6 @@ StmtResult Sema::ActOnOpenMPSectionDirective(Stmt *AStmt, assert(isa(AStmt) && "Captured statement expected"); - // 1.2.2 OpenMP Language Terminology - // Structured block - An executable statement with a single entry at the - // top and a single exit at the bottom. - // The point of exit cannot be a branch out of the structured block. - // longjmp() and throw() must not violate the entry/exit criteria. - cast(AStmt)->getCapturedDecl()->setNothrow(); - setFunctionHasBranchProtectedScope(); DSAStack->setParentCancelRegion(DSAStack->isCancelRegion()); diff --git a/test/AST/ast-dump-openmp-sections.cpp b/test/AST/ast-dump-openmp-sections.cpp deleted file mode 100644 index 79bb751a6e..0000000000 --- a/test/AST/ast-dump-openmp-sections.cpp +++ /dev/null @@ -1,57 +0,0 @@ -// RUN: %clang_cc1 -verify -fopenmp -ast-dump %s | FileCheck %s -// RUN: %clang_cc1 -verify -fopenmp-simd -ast-dump %s | FileCheck %s -// expected-no-diagnostics - -void sections() { -#pragma omp sections - { -#pragma omp section - { - } -#pragma omp section - { - } - } -} - -// CHECK: `-FunctionDecl -// CHECK-NEXT: `-CompoundStmt -// CHECK-NEXT: `-OMPSectionsDirective -// CHECK-NEXT: `-CapturedStmt -// CHECK-NEXT: `-CapturedDecl {{.*}} nothrow -// CHECK-NEXT: |-CompoundStmt -// CHECK-NEXT: | |-OMPSectionDirective -// CHECK-NEXT: | | `-CapturedStmt -// CHECK-NEXT: | | `-CapturedDecl {{.*}} nothrow -// CHECK-NEXT: | | |-CompoundStmt -// CHECK-NEXT: | | `-ImplicitParamDecl -// CHECK-NEXT: | `-OMPSectionDirective -// CHECK-NEXT: | `-CapturedStmt -// CHECK-NEXT: | `-CapturedDecl {{.*}} nothrow -// CHECK-NEXT: | |-CompoundStmt -// CHECK-NEXT: | `-ImplicitParamDecl -// CHECK-NEXT: |-ImplicitParamDecl -// CHECK-NEXT: |-CXXRecordDecl -// CHECK-NEXT: | |-DefinitionData -// CHECK-NEXT: | | |-DefaultConstructor -// CHECK-NEXT: | | |-CopyConstructor -// CHECK-NEXT: | | |-MoveConstructor -// CHECK-NEXT: | | |-CopyAssignment -// CHECK-NEXT: | | |-MoveAssignment -// CHECK-NEXT: | | `-Destructor -// CHECK-NEXT: | `-CapturedRecordAttr -// CHECK-NEXT: |-CapturedDecl {{.*}} nothrow -// CHECK-NEXT: | |-CompoundStmt -// CHECK-NEXT: | `-ImplicitParamDecl -// CHECK-NEXT: |-CXXRecordDecl -// CHECK-NEXT: | |-DefinitionData -// CHECK-NEXT: | | |-DefaultConstructor -// CHECK-NEXT: | | |-CopyConstructor -// CHECK-NEXT: | | |-MoveConstructor -// CHECK-NEXT: | | |-CopyAssignment -// CHECK-NEXT: | | |-MoveAssignment -// CHECK-NEXT: | | `-Destructor -// CHECK-NEXT: | `-CapturedRecordAttr -// CHECK-NEXT: `-CapturedDecl {{.*}} nothrow -// CHECK-NEXT: |-CompoundStmt -// CHECK-NEXT: `-ImplicitParamDecl