Enforce the rest of C99 6.7.2.1p2, emitting diagnostics like:

t.c:10:15: warning: 'bonk' may not be nested in a struct due to flexible array member
  struct bink bonk;
              ^
t.c:13:14: error: 'struct bink' may not be used as an array element due to flexible array member
struct bink A[123];
             ^
for:

struct bink {
  struct bink *a;
  int X[];  // ok.
};

struct foo {
  int A;
  struct bink bonk;
};

struct bink A[123];

llvm-svn: 39296
8 files changed
tree: 69108fd0803149add70dd06962ce6f9f4e0c1afc
  1. clang/
  2. llvm/
  3. stacker/