]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libgomp: Fix up omp_target_memset-3.c test for C++ [PR120444]
authorJakub Jelinek <jakub@redhat.com>
Tue, 3 Jun 2025 05:54:37 +0000 (07:54 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 3 Jun 2025 05:54:37 +0000 (07:54 +0200)
The test PASSes for C, but FAILs for C++:
.../libgomp.c-c++-common/omp_target_memset-3.c: In function 'void test_it(void*, int, size_t)':
.../libgomp.c-c++-common/omp_target_memset-3.c:31:7: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith]
.../libgomp.c-c++-common/omp_target_memset-3.c:33:13: error: invalid conversion from 'void*' to 'int8_t*' {aka 'signed char*'} [-fpermissive]
.../libgomp.c-c++-common/omp_target_memset-3.c:10:19: note: initializing argument 1 of 'void init_val(int8_t*, int, size_t)'
.../libgomp.c-c++-common/omp_target_memset-3.c:37:14: error: invalid conversion from 'void*' to 'int8_t*' {aka 'signed char*'} [-fpermissive]
.../libgomp.c-c++-common/omp_target_memset-3.c:17:20: note: initializing argument 1 of 'void check_val(int8_t*, int, size_t)'
.../libgomp.c-c++-common/omp_target_memset-3.c:38:18: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith]
.../libgomp.c-c++-common/omp_target_memset-3.c:38:18: error: invalid conversion from 'void*' to 'int8_t*' {aka 'signed char*'} [-fpermissive]
.../libgomp.c-c++-common/omp_target_memset-3.c:17:20: note: initializing argument 1 of 'void check_val(int8_t*, int, size_t)'
.../libgomp.c-c++-common/omp_target_memset-3.c: In function 'int main()':
.../libgomp.c-c++-common/omp_target_memset-3.c:46:7: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith]

The following two-liner fixes that, tested on x86_64-linux and i686-linux.

2025-06-03  Jakub Jelinek  <jakub@redhat.com>

PR libgomp/120444
* testsuite/libgomp.c-c++-common/omp_target_memset-3.c (test_it):
Change ptr argument type from void * to int8_t *.
(main): Change ptr variable type from void * to int8_t * and cast
omp_target_alloc result to the latter type.

libgomp/testsuite/libgomp.c-c++-common/omp_target_memset-3.c

index 6f2520410d1349a026adadc0fd373667fdeca673..c0e4fa905b2a478acd028e532ead793ab5ec2026 100644 (file)
@@ -24,7 +24,7 @@ check_val (int8_t *ptr, int val, size_t count)
 }
 
 static void
-test_it (void *ptr, int lshift, size_t count)
+test_it (int8_t *ptr, int lshift, size_t count)
 {
   if (N < count + lshift) __builtin_abort ();
   if (lshift >= 4) __builtin_abort ();
@@ -42,7 +42,7 @@ test_it (void *ptr, int lshift, size_t count)
 int main()
 {
   size_t size;
-  void *ptr = omp_target_alloc (N + 3, omp_get_default_device());
+  int8_t *ptr = (int8_t *) omp_target_alloc (N + 3, omp_get_default_device());
   ptr += (4 - (uintptr_t) ptr % 4) % 4;
   if ((uintptr_t) ptr % 4 != 0) __builtin_abort ();