// RUN: %clang_cc1 -std=c23 -fsyntax-only -verify=c %s // RUN: %clang_cc1 -fsyntax-only -verify=cpp -x c++ -Wno-c23-extensions %s struct S { int arr[3]; }; struct S1 { struct S s; }; void cases(int x) { int a[8] = {x, x, x, x, x, x, #embed __FILE__ // c-warning@-1{{excess elements in array initializer}} // cpp-error@-2{{excess elements in array initializer}} }; int b[8] = { #embed __FILE__ // c-warning@-1{{excess elements in array initializer}} // cpp-error@-2{{excess elements in array initializer}} }; int c[3000] = {x, x, x, x, x, x, #embed __FILE__ }; char d[3] = { #embed __FILE__ // c-warning@-1{{initializer-string for char array is too long}} // cpp-error@-2{{initializer-string for char array is too long}} }; char e[3000] = { 1, #embed __FILE__ }; struct S s = { #embed __FILE__ // c-warning@-1{{excess elements in struct initializer}} // cpp-error@-2{{excess elements in struct initializer}} , x }; struct S1 s1 = { #embed __FILE__ // c-warning@-1{{excess elements in struct initializer}} // cpp-error@-2{{excess elements in struct initializer}} , x }; }