From 6dfe8e590e1e50e26c80af59971bc206d8c567f6 Mon Sep 17 00:00:00 2001 From: Vedant Kumar Date: Thu, 31 Oct 2019 16:25:24 -0700 Subject: [PATCH] [profile] Second speculative fix for Windows VLAs in C appear to not work on Windows, so use COMPILER_RT_ALLOCA: C:\b\slave\sanitizer-windows\llvm-project\compiler-rt\lib\profile\InstrProfilingWriter.c(264): error C2057: expected constant expression C:\b\slave\sanitizer-windows\llvm-project\compiler-rt\lib\profile\InstrProfilingWriter.c(264): error C2466: cannot allocate an array of constant size 0 C:\b\slave\sanitizer-windows\llvm-project\compiler-rt\lib\profile\InstrProfilingWriter.c(264): error C2133: 'Zeroes': unknown size --- compiler-rt/lib/profile/InstrProfilingWriter.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler-rt/lib/profile/InstrProfilingWriter.c b/compiler-rt/lib/profile/InstrProfilingWriter.c index ae9e1fa..0b2e176 100644 --- a/compiler-rt/lib/profile/InstrProfilingWriter.c +++ b/compiler-rt/lib/profile/InstrProfilingWriter.c @@ -261,7 +261,7 @@ lprofWriteDataImpl(ProfDataWriter *Writer, const __llvm_profile_data *DataBegin, /* Enough zeroes for padding. */ unsigned PageSize = getpagesize(); - char Zeroes[PageSize]; + char *Zeroes = (char *)COMPILER_RT_ALLOCA(PageSize); memset(Zeroes, 0, PageSize); /* Create the header. */ -- 2.7.4