https://gcc.gnu.org/g:a8c03f056f4070a618bc59afcae2290cf21456ea
commit r16-1069-ga8c03f056f4070a618bc59afcae2290cf21456ea Author: Jakub Jelinek <ja...@redhat.com> Date: Tue Jun 3 07:54:37 2025 +0200 libgomp: Fix up omp_target_memset-3.c test for C++ [PR120444] 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 <ja...@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. Diff: --- libgomp/testsuite/libgomp.c-c++-common/omp_target_memset-3.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libgomp/testsuite/libgomp.c-c++-common/omp_target_memset-3.c b/libgomp/testsuite/libgomp.c-c++-common/omp_target_memset-3.c index 6f2520410d13..c0e4fa905b2a 100644 --- a/libgomp/testsuite/libgomp.c-c++-common/omp_target_memset-3.c +++ b/libgomp/testsuite/libgomp.c-c++-common/omp_target_memset-3.c @@ -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 ();