[OpenMP] libomp: fix build by cl with vs2019
Replace VLA with dynamic allocation using alloca().
This fixes https://bugs.llvm.org/show_bug.cgi?id=48919.
Differential Revision: https://reviews.llvm.org/D95627
GitOrigin-RevId: 7f5ad0e07162e0c19e569986ee37a17c147c9a27
diff --git a/runtime/src/kmp_settings.cpp b/runtime/src/kmp_settings.cpp
index 9baf705..3d9bdb3 100644
--- a/runtime/src/kmp_settings.cpp
+++ b/runtime/src/kmp_settings.cpp
@@ -3377,7 +3377,8 @@
ntraits++;
}
}
- omp_alloctrait_t traits[ntraits];
+ omp_alloctrait_t *traits =
+ (omp_alloctrait_t *)KMP_ALLOCA(ntraits * sizeof(omp_alloctrait_t));
// Helper macros
#define IS_POWER_OF_TWO(n) (((n) & ((n)-1)) == 0)