================
@@ -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