================
@@ -2276,7 +2281,8 @@ void OmpAttributeVisitor::Post(const parser::Name &name) {
       if (Symbol * found{currScope().FindSymbol(name.source)}) {
         if (symbol != found) {
           name.symbol = found; // adjust the symbol within region
-        } else if (GetContext().defaultDSA == Symbol::Flag::OmpNone &&
+        } else if ((HaveOpenMPDefaultNone ||
----------------
mjklemm wrote:

This is exactly what this option is supposed to do.  If I misread your comment, 
please bear with me and explain.  For

```Fortran
subroutine sb1(arr, n)
  integer :: n
  integer :: arr(n)
  !$omp workshare
    arr = n
  !$omp end workshare
end subroutine
```

The `-fopenmp-default-none` acts as if the developer has written this:

```Fortran
subroutine sb1(arr, n)
  integer :: n
  integer :: arr(n)
  !$omp workshare default(none)
    arr = n
  !$omp end workshare
end subroutine
```

So, for both the error would be the same:

```
error: Semantic errors in /net/home/micha/projects/llvm/tmp/datasharing.f90
/net/home/micha/projects/llvm/tmp/datasharing.f90:16:5: error: The 
DEFAULT(NONE) clause requires that 'arr' must be listed in a data-sharing 
attribute clause
      arr = n
      ^^^
/net/home/micha/projects/llvm/tmp/datasharing.f90:16:11: error: The 
DEFAULT(NONE) clause requires that 'n' must be listed in a data-sharing 
attribute clause
      arr = n
```


















https://github.com/llvm/llvm-project/pull/120287
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to