On 8/29/23 18:03, Kevin Buettner wrote: > On Tue, 29 Aug 2023 17:38:57 +0200 > Tom de Vries via Gdb-patches wrote: > >> When running test-case gdb.arch/i386-avx512.exp, I run into: >> ... >> gdb compile failed, In file included from gdb.arch/i386-avx512.c:20:0: >> src/gdb/nat/x86-cpuid.h: In function 'x86_cpuid_count': >> src/gdb/nat/x86-cpuid.h:63:16: error: \ >> 'nullptr' undeclared (first use in this function) >> if (__eax == nullptr) >> ^~~~~~~ >> src/gdb/nat/x86-cpuid.h:63:16: note: each \ >> undeclared identifier is reported only once for each function it appears in > [...] >> This is due to commit e85aad4ae76 ("nat/x86-cpuid.h: Add x86_cpuid_count >> wrapper around __get_cpuid_count"), which introduced the nullptr check. >> >> The header file gdb/nat/x86-cpuid.h is a file that is included in the build >> and compiled as a C++ file, but also in the testsuite and compiled as a C >> file. >> >> Fix this by replacing nullptr with (void *)0. > [...] > >> - if (__eax == nullptr) >> + if (__eax == (void *)0) >> __eax = &__scratch; >> - if (__ebx == nullptr) >> + if (__ebx == (void *)0) >> __ebx = &__scratch; >> - if (__ecx == nullptr) >> + if (__ecx == (void *)0) >> __ecx = &__scratch; >> - if (__edx == nullptr) >> + if (__edx == (void *)0) >> __edx = &__scratch; > > Maybe leave nullptr in place and instead do something like this... > > /* This header file is also used in C code for the gdb.arch/i386-avx512.exp > test, so define nullptr to avoid a compile error during testing. */ > #ifndef __cplusplus > #define nullptr (void *) 0) > #endif > Hi Kevin, thanks for the review. I'll commit this v2 tomorrow, unless there are further comments. Thanks, - Tom