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

Reply via email to