Use empty list initializers to construct all zero-initialized variables.
In the past, we always tried to construct appropriate full
zero-initializers for uninitialized variables that contained any RS
object types (like rs_allocation) or any RS matrix types. For some
structures containing rs_matrix* types, we would insert an initializer
that uses just a single raw 0. While this is almost correct, it leads to
an invalid AST (that Clang is still happy to do the right thing with, for
now). Instead, we can rely on a supported extension that allows
zero-initialization with empty initializer lists (like in C++11, but for
older versions of C too). Switching to the empty list allows us to
remove a particularly tricky (and incomplete) section of code.
6 files changed