News for hackers. Stuff that matters.
Re:Depressing and faintly terrifying days for the C standard... by kazinator on Wednesday May 30, 2018 @05:22PM (#17191950)
There is a concern for performance. But that's no reason. Zero initing could be default behavior that can be declared away. E.g.

As a type qualifier keyword:

  { int x, y; /* x and y are zero */ }

  { int noinit x, y; /* x is indeterminate, y is zero */ }
Or as a declaration specifier:

  { noinit x, y; /* both x, y indeterminately-valued */ }
Or a special constant for suppressing zero initialization:

  { int x, y = noinit; /* x zero, y indeterminate */ }
Similarly, unspecified order of evaluation could be supported by explicit request:

  decl (unspec_order) { /* comma-separated list of decl items */
     a[i] = i++; /* UB */
  }

  a[i] = i++; /* well-defined */
Re:Depressing and faintly terrifying days for the C standard... by rurban on Saturday June 02, 2018 @04:57AM (#17213591)
zero initing is default behavior for static values or structs.

    static int x, y; /* x and y are zero */
Re:Depressing and faintly terrifying days for the C standard... by sam_dam_gai on Thursday May 31, 2018 @04:10AM (#17194765)
Good idea!