Home | History | Annotate | Download | only in opt
      1 // RUN: %Slang -O 0 %s
      2 // RUN: %rs-filecheck-wrapper %s
      3 // CHECK: define internal i32 @main(
      4 // CHECK: %f = alloca float,
      5 // CHECK: %pf = alloca float*,
      6 // CHECK: %ppn = alloca i32**,
      7 
      8 struct float_struct {
      9   float f;
     10   float f2[2];
     11 } compound_float;
     12 
     13 static
     14 int main(int argc, char* argv[])
     15 {
     16   float f = 0.f;
     17   float *pf = &f;
     18 
     19   double d[2][2] = {{0, 1}, {2, 3.0}};
     20   struct float_struct s;
     21 
     22   unsigned short us = -1;
     23   const unsigned long l = (unsigned long) -1.0e8f;
     24 
     25   {
     26     int** ppn = 0;
     27     if (ppn) {
     28       return -1;
     29     }
     30   }
     31 
     32   s.f = 10e-4f;
     33   s.f2[0] = 1e4f;
     34   s.f2[1] = 100.5f;
     35 
     36   double result = pf[0] * d[1][1] * s.f * us * l;
     37   return (result == 0 ? 0 : -1);
     38 }
     39 
     40 void the_main() {
     41   main(0, 0);
     42 }
     43 
     44 #pragma version(1)
     45 #pragma rs java_package_name(foo)
     46