1 // RUN: %clang_cc1 %s -fsyntax-only -verify -std=c89 -Wno-sizeof-array-decay
4 struct s
{ char c
[17]; };
5 extern struct s
foo(void);
9 int A
[sizeof((foo().c
)) == 17 ? 1 : -1];
10 int B
[sizeof((a
.c
)) == 17 ? 1 : -1];
13 // comma does not promote array/function in c90 unless they are lvalues.
14 int W
[sizeof(0, a
.c
) == sizeof(char*) ? 1 : -1];
15 int X
[sizeof(0, (foo().c
)) == 17 ? 1 : -1];
16 int Y
[sizeof(0, (a
,b
).c
) == 17 ? 1 : -1];
17 int Z
[sizeof(0, (a
=b
).c
) == 17 ? 1 : -1]; // expected-warning {{expression with side effects has no effect in an unevaluated context}}