erichkeane added a comment.

@aaron.ballman : Can you comment, particularly on the 'x2' and 'x3' examples 
here?  I think our hackery here to get the AST back in a reasonable position 
here is unfortunate, and leads to some pretty awkward errors.  I'm not sure 
what else we could do?

We can't make it a dependent type, as it can then not be merged correctly.
We can't really make it a variable array type, since we would then have those 
types in places where it isn't 'legal'.
We would have a perhaps similar problem with the incomplete array type as the 
VLA, but at least we would diagnose `char[]`, right?

My original thoughts were to make this still be a constant-array-type, keeping 
the 'error' size expression, but with a '1' for the extent, but I'm second 
guessing here based on those errors.



================
Comment at: clang/test/Sema/merge-decls.c:101
+char x3[sizeof(d.data) == 8]; // expected-error {{member reference base type 
'char' is not a structure or union}}
+char x3[1];
----------------
Newline at end of file still needed.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D149612/new/

https://reviews.llvm.org/D149612

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to