c: Add tests for some C2Y removals of undefined behavior
C2Y removes various instances of undefined behavior, typically making
them either constraint violations or implementation-defined.
In many but not all such cases, GCC's existing behavior is compatible
with the C2Y changes. For an initial batch of such cases, add
explicit tests for how GCC behaves in C2Y mode; more such cases will
need tests added in future patches, and there are also some such
changes that will need changes to how GCC behaves, not just new tests.
(Some of the individual examples in these tests may have been
constraint violations even before C2Y.)
Tested for x86_64-pc-linux-gnu.
* gcc.dg/c2y-function-qual-1.c, gcc.dg/c2y-incomplete-1.c,
gcc.dg/c2y-inline-1.c, gcc.dg/c2y-pointer-1.c,
gcc.dg/c2y-register-array-1.c, gcc.dg/c2y-storage-class-1.c,
gcc.dg/c2y-struct-empty-1.c: New tests.