14/12/2018 21:28, Mattias Rönnblom: > On 2018-12-14 20:07, Jeff Shaw wrote: > >>> The code prior to this commit produced the following warning when > >>> compiled with "-Wvla -std=c90". > >>> > >>> warning: ISO C90 forbids variable length array ‘array’ [-Wvla] > >>> > >>> This commit removes the variable length array from the PMD debug > >>> trace function by allocating memory dynamically on the stack using > >>> alloca(). > >> > >> Is alloca() even included in *any* C standard? As far as I see, it just > >> achieves the same thing in an uglier, less portable way than VLAs. > > > > I agree that it is much less elegant than a VLA. This is in preparation > > for DPDK on Windows, which using the Microsoft Visual C++ (MSVC) compiler. > > MSVC does not support variable length arrays. It does, however, support > > alloca(), as does GCC/ICC. > > > > For this particular instance, the point is moot, since the function is > > not used anywhere and can just as easily be removed. Though it does not > > address the issue for the ~100 other instances where VLAs are used. We > > will be submitting patches for those as more common files are ported to > > Windows. > > If Microsoft's C compiler doesn't support C99, some 20 years after its > release, maybe it's time to find a new compiler, instead of messing up > the DPDK code in a ~100 instances.
If think there is no reasonnable compiler for Windows. Yes I know, it's crazy. Microsoft, should we wait 10 more years to have C99 supported in MSVC?