1c2316db5decd9cb7f8768ca67fad41fd8cffc110Fariborz Jahanian// RUN: %clang_cc1 -std=c++11 -S -emit-llvm -o %t-c++11.ll %s -triple x86_64-apple-darwin10
2319437f457af59fa2efec6640d1e5565f4a45b3fFariborz Jahanian// RUN: FileCheck %s < %t-c++11.ll
3319437f457af59fa2efec6640d1e5565f4a45b3fFariborz Jahanian// RUN: %clang_cc1  -std=c++98 -S -emit-llvm -o %t.ll %s -triple x86_64-apple-darwin10
4c2316db5decd9cb7f8768ca67fad41fd8cffc110Fariborz Jahanian// RUN: diff %t.ll  %t-c++11.ll
5c2316db5decd9cb7f8768ca67fad41fd8cffc110Fariborz Jahanian
6c2316db5decd9cb7f8768ca67fad41fd8cffc110Fariborz Jahanian// rdar://12897704
7c2316db5decd9cb7f8768ca67fad41fd8cffc110Fariborz Jahanian
8c2316db5decd9cb7f8768ca67fad41fd8cffc110Fariborz Jahanianstruct sAFSearchPos {
9c2316db5decd9cb7f8768ca67fad41fd8cffc110Fariborz Jahanian    unsigned char *pos;
10c2316db5decd9cb7f8768ca67fad41fd8cffc110Fariborz Jahanian    unsigned char count;
11c2316db5decd9cb7f8768ca67fad41fd8cffc110Fariborz Jahanian};
12c2316db5decd9cb7f8768ca67fad41fd8cffc110Fariborz Jahanian
13c2316db5decd9cb7f8768ca67fad41fd8cffc110Fariborz Jahanianstatic volatile struct sAFSearchPos testPositions;
14e930ff5c34229dddfabb1709a9773a45bb8706bcFariborz Jahanian// CHECK: @_ZL13testPositions = internal global %struct.sAFSearchPos zeroinitializer
15c2316db5decd9cb7f8768ca67fad41fd8cffc110Fariborz Jahanian
16c2316db5decd9cb7f8768ca67fad41fd8cffc110Fariborz Jahanianstatic volatile struct sAFSearchPos arrayPositions[100][10][5];
17e930ff5c34229dddfabb1709a9773a45bb8706bcFariborz Jahanian// CHECK: @_ZL14arrayPositions = internal global [100 x [10 x [5 x %struct.sAFSearchPos]]] zeroinitializer
18c2316db5decd9cb7f8768ca67fad41fd8cffc110Fariborz Jahanian
19c2316db5decd9cb7f8768ca67fad41fd8cffc110Fariborz Jahanianint main() {
20c2316db5decd9cb7f8768ca67fad41fd8cffc110Fariborz Jahanian  return testPositions.count + arrayPositions[10][4][3].count;
21c2316db5decd9cb7f8768ca67fad41fd8cffc110Fariborz Jahanian}
22