ABataev added inline comments.
================
Comment at: clang/include/clang/Sema/Sema.h:10333
+ /// Check if there is an active global `omp begin assumes` directive.
+ bool isInOpenMPAssumeScope() { return !OMPAssumeScoped.empty(); }
+
----------------
jdoerfert wrote:
> ABataev wrote:
> > ABataev wrote:
> > > `const` member functions.
> > It may have side-effects with template instantiations. What if we have
> > something like this:
> > ```
> > #pragma omp begin assumes ...
> > template <typename T>
> > struct S {
> > ...
> > }
> > #pragma omp end assumes
> >
> > void bar() {
> > #pragma omp assumes ...
> > {
> > S<int> s;
> > s.foo();
> > }
> > }
> > ```
> > ?
> >
> > `struct S<int>` will be instantiated in the second assume region context
> > though I doubt this is the user intention.
> I'm not sure what problem you expect here. Could you elaborate what you think
> should happen or should not?
May it lead to the wrong compiler assumptions and result in the incorrect
codegen?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D91980/new/
https://reviews.llvm.org/D91980
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits