================
@@ -169,6 +169,14 @@ extern const omp_impex_t omp_not_impex;
 extern const omp_impex_t omp_import;
 extern const omp_impex_t omp_export;
 extern const omp_impex_t omp_impex;
+
+template <typename T>
+void TestTaskLoopImpex() {
+#pragma omp taskloop transparent(omp_impex)
----------------
zahiraam wrote:

For:
```
template <int C>
void TestTaskLoopImpex() {
#pragma omp taskloop transparent(C)
  for (int i = 0; i < 10; ++i) {}
}

int main() {
  TestTaskLoopImpex<1>();
  return 0;
}
```
Do we want to generate this:
```
# | template <int C> void TestTaskLoopImpex() {
# |     #pragma omp taskloop transparent(C)
# |         for (int i = 0; i < 10; ++i) {
# |         }
# | }
# | template<> void TestTaskLoopImpex<**1**>() {
# |     #pragma omp taskloop transparent(**1**)
# |         for (int i = 0; i < 10; ++i) {
# |         }
# | }
# | int main() {
# |     TestTaskLoopImpex<1>();
# |     return 0;
# | }
```

or

```
# | template <int C> void TestTaskLoopImpex() {
# |     #pragma omp taskloop transparent(C)
# |         for (int i = 0; i < 10; ++i) {
# |         }
# | }
# | template<> void TestTaskLoopImpex<**omp_import**>() {
# |     #pragma omp taskloop transparent(**omp_import**)
# |         for (int i = 0; i < 10; ++i) {
# |         }
# | }
# | int main() {
# |     TestTaskLoopImpex<1>();
# |     return 0;
# | }
```
With the assumption that 0 generates `omp_not_impex`, 1 generates `omp_import`, 
2 generates `omp_export` and 3 generates `omp_impex`?

https://github.com/llvm/llvm-project/pull/166810
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to