On Tue, Sep 12, 2023 at 09:04:16AM +0200, Tobias Burnus wrote: > Done now. What's not caught is, e.g., a value change by calling a > function which modifies its parameter: > > omp_allocator_t a = ...; int v; foo(a); #pragma omp allocate(v) allocator(a) > > as the current check is only whether 'a' is declared before 'v' or > whether 'a' is assigned to between v's declaration and the pragma. > > Any additional comments or suggestions?
As I said, we can't catch all the mistakes, the unfortunate thing is that the syntax allows them. I'll try to make omp::decl attribute working soon and that will make that problem less severe when using that syntax. Jakub