const char cpuid_error(void)
{
const struct { cpu_error_t error; const char description; }
matchtable[] = {
{ ERR_OK , "No error"},
{ ERR_NO_CPUID , "CPUID instruction is not supported"},
{ ERR_NO_RDTSC , "RDTSC instruction is not supported"},
{ ERR_NO_MEM , "Memory allocation failed"},
{ ERR_OPEN , "File open operation failed"},
{ ERR_BADFMT , "Bad file format"},
{ ERR_NOT_IMP , "Not implemented"},
{ ERR_CPU_UNKN , "Unsupported processor"},
{ ERR_NO_RDMSR , "RDMSR instruction is not supported"},
{ ERR_NO_DRIVER, "RDMSR driver error (generic)"},
{ ERR_NO_PERMS , "No permissions to install RDMSR driver"},
{ ERR_EXTRACT , "Cannot extract RDMSR driver (read only media?)"},
{ ERR_HANDLE , "Bad handle"},
{ ERR_INVMSR , "Invalid MSR"},
{ ERR_INVCNB , "Invalid core number"},
{ ERR_HANDLE_R , "Error on handle read"},
{ ERR_INVRANGE , "Invalid given range"},
};
manually installing just the manpage, it seems like the error messages aren't listed, just the ERR names.
But if I replace the ' with a " ...the error messages do get listed.
...I'm starting to think this is a bug in doxygen itself.
*edit:
......maybe but the above code was mostly a headfake. Those strings are defined elsewhere, see my pr.
OS: ubuntu - bionic doxygen: 1.8.13-10
debuild -us -uc -b gives:
W: libcpuid14-dev: manpage-has-bad-whatis-entry usr/share/man/man3/libcpuid.3.gz W: libcpuid14-dev: manpage-has-errors-from-man usr/share/man/man3/libcpuid.3.gz 227: warning: macro `No' not defined
Looking a little deeper this is doxygen generated 'code':
.TP \fB\fIERR_OK \fP\fP 'No error' .TP \fB\fIERR_NO_CPUID \fP\fP
looks innocuous enough.
which comes from cpuid_main.c:
const char cpuid_error(void) { const struct { cpu_error_t error; const char description; } matchtable[] = { { ERR_OK , "No error"}, { ERR_NO_CPUID , "CPUID instruction is not supported"}, { ERR_NO_RDTSC , "RDTSC instruction is not supported"}, { ERR_NO_MEM , "Memory allocation failed"}, { ERR_OPEN , "File open operation failed"}, { ERR_BADFMT , "Bad file format"}, { ERR_NOT_IMP , "Not implemented"}, { ERR_CPU_UNKN , "Unsupported processor"}, { ERR_NO_RDMSR , "RDMSR instruction is not supported"}, { ERR_NO_DRIVER, "RDMSR driver error (generic)"}, { ERR_NO_PERMS , "No permissions to install RDMSR driver"}, { ERR_EXTRACT , "Cannot extract RDMSR driver (read only media?)"}, { ERR_HANDLE , "Bad handle"}, { ERR_INVMSR , "Invalid MSR"}, { ERR_INVCNB , "Invalid core number"}, { ERR_HANDLE_R , "Error on handle read"}, { ERR_INVRANGE , "Invalid given range"}, };
manually installing just the manpage, it seems like the error messages aren't listed, just the ERR names. But if I replace the ' with a " ...the error messages do get listed.
...I'm starting to think this is a bug in doxygen itself.
*edit:
......maybe but the above code was mostly a headfake. Those strings are defined elsewhere, see my pr.