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 10struct float_struct { 11 float f; 12 float f2[2]; 13} compound_float; 14 15 16static 17int 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 43void the_main() { 44 main(0, 0); 45} 46 47#pragma version(1) 48#pragma rs java_package_name(foo) 49