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