================ @@ -1,13 +1,21 @@ -// RUN: %clang_cc1 -fsyntax-only -verify %s +// RUN: %clang_cc1 -fsyntax-only -verify=c11 -std=c11 -pedantic %s +// RUN: %clang_cc1 -fsyntax-only -verify=c23 -std=c23 -Wpre-c23-compat %s // Check C99 6.8.5p3 void b1 (void) { for (void (*f) (void);;); } -void b2 (void) { for (void f (void);;); } // expected-error {{non-variable declaration in 'for' loop}} -void b3 (void) { for (static int f;;); } // expected-error {{declaration of non-local variable}} -void b4 (void) { for (typedef int f;;); } // expected-error {{non-variable declaration in 'for' loop}} +void b2 (void) { for (void f (void);;); } /* c11-warning {{non-variable declaration in 'for' loop is a C23 extension}} ---------------- shafik wrote:
I think these test should have show the non-local variables being used within the loops as well. Otherwise the tests are not fully testing the functionality and are not fully protecting against regressions. https://github.com/llvm/llvm-project/pull/129737 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits