The array_bounds_declarator for the first dimension of an array can take any of the following forms:
[lower .. upper] | The lower bound is lower. The upper bound is upper. |
[size] | The lower bound is 0 (zero). The upper bound is size 1. |
[*] | The lower bound is 0 (zero). The upper bound is determined by a max_is or size_is attribute. |
[ ] | Same as the preceding explanation. |
[lower .. *] | The lower bound is lower. The upper bound is determined by a max_is or size_is attribute. |
[* .. upper] | The lower bound is determined by a min_is attribute. The upper bound is upper. |
[* .. *] | The lower bound is determined by a min_is attribute. The upper bound is determined by a size_is or max_is attribute. |