From bd748714ce32841d410b1b8ec5f2daa5043ee6b2 Mon Sep 17 00:00:00 2001 From: Niranjan Nilakantan Date: Thu, 18 May 2023 19:23:52 -0700 Subject: Add a declaration for __cpuid for the IntelLLVM compiler. __cpuid is declared in intrin.h, but is "excluded" on non-Windows platforms. We add this declaration to compensate. Fixes #1358 --- absl/random/internal/randen_detect.cc | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'absl/random') diff --git a/absl/random/internal/randen_detect.cc b/absl/random/internal/randen_detect.cc index 6dababa3..0ad23cb2 100644 --- a/absl/random/internal/randen_detect.cc +++ b/absl/random/internal/randen_detect.cc @@ -45,6 +45,10 @@ #if defined(ABSL_INTERNAL_USE_X86_CPUID) #if defined(_WIN32) || defined(_WIN64) #include // NOLINT(build/include_order) +#elif ABSL_HAVE_BUILTIN(__cpuid) +// MSVC-equivalent __cpuid intrinsic declaration for clang-like compilers +// for non-Windows build environments. +void __cpuid(int[4], int); #else // MSVC-equivalent __cpuid intrinsic function. static void __cpuid(int cpu_info[4], int info_type) { -- cgit v1.2.3