[PATCH] D57615: [AST][OpenMP] OpenMP master Construct contains Structured block

Alexey Bataev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Feb 1 13:28:29 PST 2019


ABataev added a comment.

In D57615#1381427 <https://reviews.llvm.org/D57615#1381427>, @lebedev.ri wrote:

> In D57615#1381418 <https://reviews.llvm.org/D57615#1381418>, @ABataev wrote:
>
> > In D57615#1381416 <https://reviews.llvm.org/D57615#1381416>, @lebedev.ri wrote:
> >
> > > @ABataev i'm not sure i have fully followed the https://bugs.llvm.org/show_bug.cgi?id=40563#c1
> > >
> > > > The outlined function is not generated for the loop, so there is no problem with the standard compatibility.
> > >
> > > Are you saying that in these cases of `master`, `critical`, `single` directives, `CapturedDecl` should **not** have `nothrow` bit set too?
> >
> >
> > This flag just does not matter for them.
>
>
> I'll rephrase:
>  Are you opposed to providing the correct (as per the specification) knowledge that
>  no exception will escape out of these `CapturedDecl`'s, because that knowledge
>  does not matter for the existing sema/codegen, and does not affect produced IR?


Again, CapturedDecl and CapturedStmt is not the representation of the structured block. It is a helper structure for the codegen only. This flag does not help with anything, because for such OpenMP constructs the codegen bypasses CapturedStmt/CapturedDecl.
I'm not opposed. I'm saying, that it is not required and not used. If it is not used, why do you want to set it?


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D57615/new/

https://reviews.llvm.org/D57615





More information about the cfe-commits mailing list