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

Alexey Bataev via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Fri Feb 1 13:28:28 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?

  rC Clang



More information about the Openmp-commits mailing list