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