Home | History | Annotate | Download | only in host-tests
      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