[Openmp-commits] [openmp] 6be7c21 - [OpenMP][libomp] Replace accidental VLA with KMP_ALLOCA
Jonathan Peyton via Openmp-commits
openmp-commits at lists.llvm.org
Wed Feb 9 06:10:15 PST 2022
Author: Jonathan Peyton
Date: 2022-02-09T08:09:27-06:00
New Revision: 6be7c21b57e4a45b012209974ab9038b679134f5
URL: https://github.com/llvm/llvm-project/commit/6be7c21b57e4a45b012209974ab9038b679134f5
DIFF: https://github.com/llvm/llvm-project/commit/6be7c21b57e4a45b012209974ab9038b679134f5.diff
LOG: [OpenMP][libomp] Replace accidental VLA with KMP_ALLOCA
MSVC does not support variable length arrays. Replace with KMP_ALLOCA
which is already used in the same file for stack-allocated variables.
Added:
Modified:
openmp/runtime/src/kmp_affinity.cpp
Removed:
################################################################################
diff --git a/openmp/runtime/src/kmp_affinity.cpp b/openmp/runtime/src/kmp_affinity.cpp
index 71e8b7fd10eb..d1f1b6790e2d 100644
--- a/openmp/runtime/src/kmp_affinity.cpp
+++ b/openmp/runtime/src/kmp_affinity.cpp
@@ -948,7 +948,7 @@ bool kmp_topology_t::filter_hw_subset() {
bool using_core_effs = false;
int hw_subset_depth = __kmp_hw_subset->get_depth();
kmp_hw_t specified[KMP_HW_LAST];
- int topology_levels[hw_subset_depth];
+ int *topology_levels = (int *)KMP_ALLOCA(sizeof(int) * hw_subset_depth);
KMP_ASSERT(hw_subset_depth > 0);
KMP_FOREACH_HW_TYPE(i) { specified[i] = KMP_HW_UNKNOWN; }
int core_level = get_level(KMP_HW_CORE);
More information about the Openmp-commits
mailing list