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