46 lines
		
	
	
		
			784 B
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			784 B
		
	
	
	
		
			Plaintext
		
	
	
	
// RUN: %Slang -O 3 %s
 | 
						|
// RUN: %rs-filecheck-wrapper %s
 | 
						|
// CHECK-NOT: define internal i32 @main(
 | 
						|
// CHECK-NOT: %f = alloca float,
 | 
						|
// CHECK-NOT: %pf = alloca float*,
 | 
						|
// CHECK-NOT: %ppn = alloca i32**,
 | 
						|
 | 
						|
struct float_struct {
 | 
						|
  float f;
 | 
						|
  float f2[2];
 | 
						|
} compound_float;
 | 
						|
 | 
						|
static
 | 
						|
int main(int argc, char* argv[])
 | 
						|
{
 | 
						|
  float f = 0.f;
 | 
						|
  float *pf = &f;
 | 
						|
 | 
						|
  double d[2][2] = {{0, 1}, {2, 3.0}};
 | 
						|
  struct float_struct s;
 | 
						|
 | 
						|
  unsigned short us = -1;
 | 
						|
  const unsigned long l = (unsigned long) -1.0e8f;
 | 
						|
 | 
						|
  {
 | 
						|
    int** ppn = 0;
 | 
						|
    if (ppn) {
 | 
						|
      return -1;
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  s.f = 10e-4f;
 | 
						|
  s.f2[0] = 1e4f;
 | 
						|
  s.f2[1] = 100.5f;
 | 
						|
 | 
						|
  double result = pf[0] * d[1][1] * s.f * us * l;
 | 
						|
  return (result == 0 ? 0 : -1);
 | 
						|
}
 | 
						|
 | 
						|
void the_main() {
 | 
						|
  main(0, 0);
 | 
						|
}
 | 
						|
 | 
						|
#pragma version(1)
 | 
						|
#pragma rs java_package_name(foo)
 |