• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  // RUN: %clang_cc1 %s -fsyntax-only -verify -std=c89
2  // rdar://6095180
3  
4  struct s { char c[17]; };
5  extern struct s foo(void);
6  
7  struct s a, b, c;
8  
9  int A[sizeof((foo().c)) == 17 ? 1 : -1];
10  int B[sizeof((a.c)) == 17 ? 1 : -1];
11  
12  
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];
18