enh(Environment): Windows: report strings for all PROCESSOR_ARCHITECTURE_* constants (#4928).

This commit is contained in:
Matej Kenda 2025-04-11 22:25:12 +02:00 committed by Matej Kenda
parent e3e395a66d
commit f437630085

View File

@ -160,27 +160,39 @@ std::string EnvironmentImpl::osVersionImpl()
std::string EnvironmentImpl::osArchitectureImpl() std::string EnvironmentImpl::osArchitectureImpl()
{ {
SYSTEM_INFO si; SYSTEM_INFO si;
GetSystemInfo(&si); GetNativeSystemInfo(&si);
switch (si.wProcessorArchitecture) switch (si.wProcessorArchitecture)
{ {
case PROCESSOR_ARCHITECTURE_INTEL: case PROCESSOR_ARCHITECTURE_INTEL:
return "IA32"; return "IA32"s;
case PROCESSOR_ARCHITECTURE_MIPS: case PROCESSOR_ARCHITECTURE_MIPS:
return "MIPS"; return "MIPS"s;
case PROCESSOR_ARCHITECTURE_ALPHA: case PROCESSOR_ARCHITECTURE_ALPHA:
return "ALPHA"; return "ALPHA"s;
case PROCESSOR_ARCHITECTURE_PPC: case PROCESSOR_ARCHITECTURE_PPC:
return "PPC"; return "PPC"s;
case PROCESSOR_ARCHITECTURE_SHX:
return "SHX"s;
case PROCESSOR_ARCHITECTURE_ARM:
return "ARM"s;
case PROCESSOR_ARCHITECTURE_IA64: case PROCESSOR_ARCHITECTURE_IA64:
return "IA64"; return "IA64";
#ifdef PROCESSOR_ARCHITECTURE_IA32_ON_WIN64 case PROCESSOR_ARCHITECTURE_ALPHA64:
case PROCESSOR_ARCHITECTURE_IA32_ON_WIN64: return "ALPHA64"s;
return "IA64/32"; case PROCESSOR_ARCHITECTURE_MSIL:
#endif return "MSIL"s;
#ifdef PROCESSOR_ARCHITECTURE_AMD64
case PROCESSOR_ARCHITECTURE_AMD64: case PROCESSOR_ARCHITECTURE_AMD64:
return "AMD64"; return "AMD64"s;
#endif case PROCESSOR_ARCHITECTURE_IA32_ON_WIN64:
return "IA64/32"s;
case PROCESSOR_ARCHITECTURE_NEUTRAL:
return "NEUTRAL"s;
case PROCESSOR_ARCHITECTURE_ARM64:
return "ARM64"s;
case PROCESSOR_ARCHITECTURE_ARM32_ON_WIN64:
return "IA64/ARM"s;
case PROCESSOR_ARCHITECTURE_IA32_ON_ARM64:
return "ARM64/IA32"s;
default: default:
return "Unknown"; return "Unknown";
} }
@ -262,7 +274,7 @@ void EnvironmentImpl::nodeIdImpl(NodeId& id)
unsigned EnvironmentImpl::processorCountImpl() unsigned EnvironmentImpl::processorCountImpl()
{ {
SYSTEM_INFO si; SYSTEM_INFO si;
GetSystemInfo(&si); GetNativeSystemInfo(&si);
return si.dwNumberOfProcessors; return si.dwNumberOfProcessors;
} }