forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			29 lines
		
	
	
		
			491 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			491 B
		
	
	
	
		
			C
		
	
	
	
| // RUN: %clang_cc1 -triple i386-unknown-unknown -emit-llvm-bc -o - %s | opt --std-compile-opts | llvm-dis > %t
 | |
| // RUN: grep "ret i32" %t | count 2
 | |
| // RUN: grep "ret i32 0" %t | count 2
 | |
| // <rdar://problem/6113085>
 | |
| 
 | |
| struct s0 {
 | |
|   int x, y;
 | |
| };
 | |
| 
 | |
| int f0() {
 | |
|   struct s0 x = {0};
 | |
|   return x.y;
 | |
| }
 | |
| 
 | |
| #if 0
 | |
| /* Optimizer isn't smart enough to reduce this since we use
 | |
|    memset. Hrm. */
 | |
| int f1() {
 | |
|   struct s0 x[2] = { {0} };
 | |
|   return x[1].x;
 | |
| }
 | |
| #endif
 | |
| 
 | |
| int f2() {
 | |
|   int x[2] = { 0 };
 | |
|   return x[1];
 | |
| }
 | |
| 
 |