[cfe-dev] warning request: partial array initialisation

Chandler Carruth chandlerc at google.com
Tue Jun 19 09:49:43 PDT 2012


On Tue, Jun 19, 2012 at 1:20 AM, Jay Foad <jay.foad at gmail.com> wrote:

> Hi,
>
> I'd really like to be able to get a warning when "almost all" elements
> of an array are initialised:
>
>  #define N 8
>  const int a[N] = { 3, 1, 4, 1, 5, 9, 2 };
>  warning: some but not all array elements initialised
>

At least in C++, this warning wouldn't make a lot of sense because all of
the array elements *are* initialized. [dcl.init.aggr] 8.5.1/7: "If there
are fewer initializers in the list than there are members in the aggregate,
then each member not explicitly initialized shall be value-initialized
(8.5)."

We would have a problem with lots of code which intended to initialized the
first few elements, and zero out the rest.

Maybe someone has clever ideas about how to syntactically differentiate
between these two use cases?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20120619/c5317bc5/attachment.html>


More information about the cfe-dev mailing list