Skip to content

Commit 24e0bd8

Browse files
authored
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,
1 parent 23d8c1e commit 24e0bd8

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/sysinfo.cc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -353,6 +353,12 @@ std::vector<CPUInfo::CacheInfo> GetCacheSizesWindows() {
353353
C.size = static_cast<int>(cache.Size);
354354
C.type = "Unknown";
355355
switch (cache.Type) {
356+
// Windows SDK version >= 10.0.26100.0
357+
// 0x0A000010 is the value of NTDDI_WIN11_GE
358+
#if NTDDI_VERSION >= 0x0A000010
359+
case CacheUnknown:
360+
break;
361+
#endif
356362
case CacheUnified:
357363
C.type = "Unified";
358364
break;

0 commit comments

Comments
 (0)