[OpenMP] libomp: fix build by cl with vs2019
authorAndreyChurbanov <andrey.churbanov@intel.com>
Fri, 29 Jan 2021 10:16:41 +0000 (13:16 +0300)
committerAndreyChurbanov <andrey.churbanov@intel.com>
Fri, 29 Jan 2021 10:16:41 +0000 (13:16 +0300)
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

openmp/runtime/src/kmp_settings.cpp

index 9baf705..3d9bdb3 100644 (file)
@@ -3377,7 +3377,8 @@ static void __kmp_stg_parse_allocator(char const *name, char const *value,
         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)