On 2018-12-19 22:45, Thomas Monjalon wrote:
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.

With's wrong with the Windows version of Clang?

Reply via email to