[OpenMP] Fix the test case issue that printf cannot be used in target region for AMDGPU
GitOrigin-RevId: 459e3c51840a7f09536a7839deb7184b53bd7e92
diff --git a/libomptarget/test/offloading/test_libc.cpp b/libomptarget/test/offloading/test_libc.cpp
index cfccf47..66d73d7 100644
--- a/libomptarget/test/offloading/test_libc.cpp
+++ b/libomptarget/test/offloading/test_libc.cpp
@@ -6,16 +6,17 @@
// std::equal is lowered to libc function memcmp.
void test_memcpy() {
-#pragma omp target
+ int r = 0;
+#pragma omp target map(from: r)
{
int x[2] = {0, 0};
int y[2] = {0, 0};
int z[2] = {0, 1};
bool eq1 = std::equal(x, x + 2, y);
bool eq2 = std::equal(x, x + 2, z);
- bool r = eq1 && !eq2;
- printf("memcmp: %s\n", r ? "PASS" : "FAIL");
+ r = eq1 && !eq2;
}
+ printf("memcmp: %s\n", r ? "PASS" : "FAIL");
}
int main(int argc, char *argv[]) {