This includes more test cases Lots of small bug fixes A built in C preprocessor Initial support for not inlining everything __attribute__((noinline)) works Better command line options and help Constants arrays can be read at compile time Asm statements that are not volatile will now be removed when their outputs go unused Loads and stores that are not volatile will be removed when their values go unused The number of FIXMES in the code is finally starting to go down. git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1582 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
		
			
				
	
	
		
			52 lines
		
	
	
		
			655 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			655 B
		
	
	
	
		
			C
		
	
	
	
	
	
| struct sub4 {
 | |
| 	unsigned a;
 | |
| 	unsigned b;
 | |
| 	unsigned c;
 | |
| 	unsigned d;
 | |
| 	unsigned e;
 | |
| 	unsigned f;
 | |
| 	unsigned g;
 | |
| };
 | |
| struct sub3 {
 | |
| 	unsigned a;
 | |
| 	unsigned b;
 | |
| 	unsigned c;
 | |
| 	unsigned d;
 | |
| 	unsigned e;
 | |
| 	unsigned f;
 | |
| 	struct sub4 s4;
 | |
| };
 | |
| struct sub2 {
 | |
| 	unsigned a;
 | |
| 	unsigned b;
 | |
| 	unsigned c;
 | |
| 	unsigned d;
 | |
| 	unsigned e;
 | |
| 	struct sub3 s3;
 | |
| };
 | |
| struct sub1 {
 | |
| 	unsigned a;
 | |
| 	unsigned b;
 | |
| 	struct sub2 s2;
 | |
| };
 | |
| 
 | |
| struct stuff {
 | |
| 	signed int   a;
 | |
| 	signed int   b;
 | |
| 	signed int   c;
 | |
| 	unsigned int d;
 | |
| 	struct sub1  s1;
 | |
| };
 | |
| 
 | |
| 
 | |
| static void main(void)
 | |
| {
 | |
| 	struct stuff *var;
 | |
| 	unsigned int *foo;
 | |
| 
 | |
| 	var = (struct stuff *)(0x12345678);
 | |
| 	foo = &var->d;
 | |
| 	foo = &((*var).d);
 | |
| 	foo = &var->s1.s2.s3.s4.g;
 | |
| }
 |