On Fri, Nov 20, 2020 at 04:41:15PM +0000, Kwok Cheung Yeung wrote: > Hello > > > New OpenMP 5.0 features that won't be available in GCC 9, are planned for > > GCC 10 > > or later versions as time permits: > > > ... > > - nested declare target support > > You said in an email two years ago that nested declare target was not > supported yet. I do not see any patches that claim to implement this since > then, but when I ran a quick test with a trunk build: > > #pragma omp declare target > #pragma omp declare target > int foo() { return 1; } > #pragma omp end declare target > int bar() { return 2; } > #pragma omp end declare target
> It looks like this was written to handle nesting to begin with (since at > least 2013) by making current_omp_declare_target_attribute (which > effectively tracks the nesting level) an integer. Is there anything that is > currently missing for nested declare target support? We used to reject omp declare target with clauses in between declare target without clauses, but that restriction has been lifted, so I don't know what is missing, perhaps just add testcases that aren't covered in the testsuite already. I'm a little bit worried about the interaction between declare target with nohost vs. normal one etc. But to answer the question, I don't remember anymore why it was on the unfinished list. Jakub