mirror of https://github.com/google/benchmark.git
Add enum value from newest Windows SDK (#1859)
* Add enum value from newest Windows SDK Windows SDK version 10.0.26100.0 adds a cache type value, `CacheUnknown`. This adds a case for that type to `sysinfo.cc`, which will otherwise complain about the switch statement being non-exhaustive when building with the new SDK. Since the value doesn't exist in prior SDK versions, we only add the case conditionally. The condition can be removed if we ever decide to bump up the required SDK version. * Fix SDK version macro Make sure the version macro we're using for the SDK is properly indicative of version 10.0.26100.0. Also fix formatting complains from the linter. * Add space to satisfy formatter Formatter insists on two space before a comment after a macro... * Change preprocessor condition Try detecting the current SDK version in a slightly different way. * Replace NTDDI_WIN11_GE with its value Undefined constants are treated as 0 by the preprocessor, which causes the check to trivially return true for previous SDK versions. Replace the constant with its value (from the newest SDK version) instead,
This commit is contained in:
parent
23d8c1e589
commit
24e0bd827a
|
@ -353,6 +353,12 @@ std::vector<CPUInfo::CacheInfo> GetCacheSizesWindows() {
|
||||||
C.size = static_cast<int>(cache.Size);
|
C.size = static_cast<int>(cache.Size);
|
||||||
C.type = "Unknown";
|
C.type = "Unknown";
|
||||||
switch (cache.Type) {
|
switch (cache.Type) {
|
||||||
|
// Windows SDK version >= 10.0.26100.0
|
||||||
|
// 0x0A000010 is the value of NTDDI_WIN11_GE
|
||||||
|
#if NTDDI_VERSION >= 0x0A000010
|
||||||
|
case CacheUnknown:
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
case CacheUnified:
|
case CacheUnified:
|
||||||
C.type = "Unified";
|
C.type = "Unified";
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue