[llvm-branch-commits] [openmp] 78f8449 - [OpenMP][libomp] Replace accidental VLA with KMP_ALLOCA
Tom Stellard via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Tue Feb 15 03:03:14 PST 2022
Author: Jonathan Peyton
Date: 2022-02-15T03:02:27-08:00
New Revision: 78f8449e01f7a397c6ba1cb7e9d0e1e863bbeaa5
URL: https://github.com/llvm/llvm-project/commit/78f8449e01f7a397c6ba1cb7e9d0e1e863bbeaa5
DIFF: https://github.com/llvm/llvm-project/commit/78f8449e01f7a397c6ba1cb7e9d0e1e863bbeaa5.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.
(cherry picked from commit 6be7c21b57e4a45b012209974ab9038b679134f5)
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 71e8b7fd10eb6..d1f1b6790e2d5 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 llvm-branch-commits
mailing list