1 // RUN: %clangxx %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:45 5 // DEBUGGER: run 6 // DEBUGGER: info locals 7 // CHECK: pf = 0x 8 // CHECK: s = {f = 0.00100000005, f2 = {10000, 100.5}} 9 // CHECK: us = 65535 10 // CHECK: f = 0 11 // CHECK: d = {{[{][{]}}0, 1}, {2, 3{{[}][}]}} 12 // CHECK: l = 0 13 // CHECK: result = 0 14 // DEBUGGER: continue 15 16 struct float_struct { 17 float f; 18 float f2[2]; 19 } compound_float; 20 21 22 int main(int argc, char* argv[]) 23 { 24 float f = 0.f; 25 float *pf = &f; 26 27 double d[2][2] = {{0, 1}, {2, 3.0}}; 28 struct float_struct s; 29 30 unsigned short us = -1; 31 const unsigned long l = static_cast<unsigned long>(-1.0e8f); 32 33 { 34 int** ppn = 0; 35 if (ppn) { 36 return -1; 37 } 38 } 39 40 s.f = 10e-4f; 41 s.f2[0] = 1e4f; 42 s.f2[1] = 100.5f; 43 44 double result = pf[0] * d[1][1] * s.f * us * l; 45 return (result == 0 ? 0 : -1); 46 } 47