1// RUN: %clang %s -g -fexceptions %extra-clang-opts -o %t
2// RUN: %Test_jit_debuginfo %s %t
3// DEBUGGER: set breakpoint pending on
4// DEBUGGER: break %s:42
5// DEBUGGER: run
6// DEBUGGER: print pf[0]
7// CHECK: $1 = 0
8// DEBUGGER: print d[0][0]
9// CHECK: $2 = 0
10// DEBUGGER: print us
11// CHECK: $3 = 65535
12// DEBUGGER: print l
13// CHECK: $4 = 1
14// DEBUGGER: print f
15// CHECK: $5 = 10
16// DEBUGGER: continue
17
18struct double_struct {
19  double d;
20  double d2[2];
21} compound_double;
22
23
24float f = 0.f;
25float *pf = &f;
26
27const double d[2][2] = {{0, 1}, {2, 3.0}};
28struct double_struct s;
29
30unsigned short us = -1;
31const unsigned long l = 1;
32
33int main(int argc, char* argv[])
34{
35  int f = 10; // shadow
36
37  s.d = 10e-4;
38  s.d2[0] = 1e4;
39  s.d2[1] = 100.5;
40
41  double result = pf[0] * d[1][1] * s.d * us * l;
42  return (result == 0 ? 0 : -1);
43}
44