@@ -127,8 +127,12 @@ const char *__kmp_hw_get_catalog_string(kmp_hw_t type, bool plural) {
127127 return ((plural) ? KMP_I18N_STR (Threads) : KMP_I18N_STR (Thread));
128128 case KMP_HW_PROC_GROUP:
129129 return ((plural) ? KMP_I18N_STR (ProcGroups) : KMP_I18N_STR (ProcGroup));
130+ case KMP_HW_UNKNOWN:
131+ case KMP_HW_LAST:
132+ return KMP_I18N_STR (Unknown);
130133 }
131- return KMP_I18N_STR (Unknown);
134+ KMP_ASSERT2 (false , " Unhandled kmp_hw_t enumeration" );
135+ KMP_BUILTIN_UNREACHABLE;
132136}
133137
134138const char *__kmp_hw_get_keyword (kmp_hw_t type, bool plural) {
@@ -157,13 +161,18 @@ const char *__kmp_hw_get_keyword(kmp_hw_t type, bool plural) {
157161 return ((plural) ? " threads" : " thread" );
158162 case KMP_HW_PROC_GROUP:
159163 return ((plural) ? " proc_groups" : " proc_group" );
164+ case KMP_HW_UNKNOWN:
165+ case KMP_HW_LAST:
166+ return ((plural) ? " unknowns" : " unknown" );
160167 }
161- return ((plural) ? " unknowns" : " unknown" );
168+ KMP_ASSERT2 (false , " Unhandled kmp_hw_t enumeration" );
169+ KMP_BUILTIN_UNREACHABLE;
162170}
163171
164172const char *__kmp_hw_get_core_type_string (kmp_hw_core_type_t type) {
165173 switch (type) {
166174 case KMP_HW_CORE_TYPE_UNKNOWN:
175+ case KMP_HW_MAX_NUM_CORE_TYPES:
167176 return " unknown" ;
168177#if KMP_ARCH_X86 || KMP_ARCH_X86_64
169178 case KMP_HW_CORE_TYPE_ATOM:
@@ -172,7 +181,8 @@ const char *__kmp_hw_get_core_type_string(kmp_hw_core_type_t type) {
172181 return " Intel(R) Core(TM) processor" ;
173182#endif
174183 }
175- return " unknown" ;
184+ KMP_ASSERT2 (false , " Unhandled kmp_hw_core_type_t enumeration" );
185+ KMP_BUILTIN_UNREACHABLE;
176186}
177187
178188#if KMP_AFFINITY_SUPPORTED
@@ -1238,17 +1248,18 @@ bool kmp_topology_t::filter_hw_subset() {
12381248 struct core_type_indexer {
12391249 int operator ()(const kmp_hw_thread_t &t) const {
12401250 switch (t.attrs .get_core_type ()) {
1251+ case KMP_HW_CORE_TYPE_UNKNOWN:
1252+ case KMP_HW_MAX_NUM_CORE_TYPES:
1253+ return 0 ;
12411254#if KMP_ARCH_X86 || KMP_ARCH_X86_64
12421255 case KMP_HW_CORE_TYPE_ATOM:
12431256 return 1 ;
12441257 case KMP_HW_CORE_TYPE_CORE:
12451258 return 2 ;
12461259#endif
1247- case KMP_HW_CORE_TYPE_UNKNOWN:
1248- return 0 ;
12491260 }
1250- KMP_ASSERT ( 0 );
1251- return 0 ;
1261+ KMP_ASSERT2 ( false , " Unhandled kmp_hw_thread_t enumeration " );
1262+ KMP_BUILTIN_UNREACHABLE ;
12521263 }
12531264 };
12541265 struct core_eff_indexer {
0 commit comments