Closed
Description
Hello. I'm trying to build your library with clang and have warning and error.
Warning:
src\fastpbkdf2.c:30:9: warning: redefining builtin macro [-Wbuiltin-macro-redefined]
[build] 30 | #define _Pragma __pragma
Errors
[build] src\aegis\common\cpu.c:150:44: error: too few arguments provided to function-like macro invocation
[build] 150 | __cpuid((int *) cpu_info, cpu_info_type);
[build] C:\Program Files\LLVM\lib\clang\19\include\cpuid.h:269:9: note: macro '__cpuid' defined here
[build] 269 | #define __cpuid(__leaf, __eax, __ebx, __ecx, __edx)
[build] src\aegis\common\cpu.c:150:5: error: builtin functions must be directly called
[build] 150 | __cpuid((int *) cpu_info, cpu_info_type);
Proposed solutions:
for warning: add a guard
+ #ifndef _Pragma
#define _Pragma __pragma
+ #endif
for error: disambiguate function call by using round brackets
- __cpuid((int *) cpu_info, cpu_info_type);
+ (__cpuid)((int *) cpu_info, cpu_info_type);
or use pragma push/pop
+ #pragma push_macro("__cpuid")
+ #undef __cpuid
__cpuid((int*)cpu_info, cpu_info_type);
+ #pragma pop_macro("__cpuid")
Metadata
Metadata
Assignees
Labels
No labels