to268 added inline comments.
================ Comment at: clang/test/Sema/c2x-auto.c:119 + return x; +} ---------------- aaron.ballman wrote: > aaron.ballman wrote: > > Some additional test cases to consider: > > ``` > > _Complex auto i = 12.0; // Should be rejected because _Complex is a type > > specifier; however, > > // when auto becomes a type specifier, this should > > be accepted. GCC > > // rejects but if we end up accepting, I won't be > > sad -- we'll need an > > // extension warning in that case though. > > > > void foo(void) { > > extern void foo(int a, int array[({ auto x = 12; x;})]); // This is a use > > of `auto` within function prototype > > // scope, but > > should still be accepted. > > } > > ``` > The suggested comment I have isn't fully correct. It should be rejected > because _Complex is a type specifier, but when auto becomes a type specifier, > I think _Complex perhaps should still not deduce. Consider this analogous > case (which could be a fun test case as well): > ``` > signed auto a = 1L; > ``` > `signed` is a type specifier as well, and this is not accepted in C++ (so we > don't want to accept it in C either). > ``` > void foo(void) { > extern void foo(int a, int array[({ auto x = 12; x;})]); // This is a use > of `auto` within function prototype > // scope, but > should still be accepted. > } > ``` I think you made a mistake there by using the same function name as the outer one. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133289/new/ https://reviews.llvm.org/D133289 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits