[gdb/build] Fix C inclusion of nat/x86-cpuid.h
commit97319ac805eda5ade08b88651bb7490089a7781f
authorTom de Vries <tdevries@suse.de>
Tue, 29 Aug 2023 20:40:36 +0000 (29 22:40 +0200)
committerTom de Vries <tdevries@suse.de>
Tue, 29 Aug 2023 20:40:36 +0000 (29 22:40 +0200)
tree44996e68b4b4c3a1f6a8fd48e7c976a18a86fa10
parent2922821e4fe3e3e9e496c50cd0c9aa1b1eecc967
[gdb/build] Fix C inclusion of nat/x86-cpuid.h

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

                  === gdb Summary ===

 # of untested testcases         1
...

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.

Tested on x86_64-linux.

Co-Authored-By: Kevin Buettner <kevinb@redhat.com>
Approved-by: Kevin Buettner <kevinb@redhat.com>
gdb/nat/x86-cpuid.h