8.194 --vla, --no_vla

Enables or disables support for variable length arrays.

Default

C90 and Standard C++ do not support variable length arrays by default. Select the option --vla to enable support for variable length arrays in C90 or Standard C++.

Variable length arrays are supported both in Standard C and the GNU compiler extensions. The option --vla is implicitly selected either when the source language is C99 or the option --gnu is specified.

Note

Memory for variable length arrays is allocated at runtime, on the heap.

Examples

size_t arr_size(int n)
{
    char array[n];          // variable length array, dynamically allocated
    return sizeof array;   // evaluated at runtime
}
Related reference
8.23 --c90
8.24 --c99
8.37 --cpp
8.91 --gnu
Non-ConfidentialPDF file icon PDF versionARM DUI0472J
Copyright © 2010-2013 ARM. All rights reserved.