mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-31 08:16:47 +00:00 
			
		
		
		
	git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51695 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| // Testcase for PR1242
 | |
| // RUN: %llvmgcc -S %s -o - | grep datalayout | \
 | |
| // RUN:    not grep {"\[Ee\]-p:\[36\]\[24\]:\[36\]\[24\]"}
 | |
| // END.
 | |
| #include <stdlib.h>
 | |
| #define NDIM 3
 | |
| #define BODY 01
 | |
| typedef double vector[NDIM];
 | |
| typedef struct bnode* bodyptr;
 | |
| // { i16, double, [3 x double], i32, i32, [3 x double], [3 x double], [3 x
 | |
| // double], double, \2 *, \2 * }
 | |
| struct bnode {
 | |
|   short int type;
 | |
|   double mass;
 | |
|   vector pos;
 | |
|   int proc;
 | |
|   int new_proc;
 | |
|   vector vel;
 | |
|   vector acc;
 | |
|   vector new_acc;
 | |
|   double phi;
 | |
|   bodyptr next;
 | |
|   bodyptr proc_next;
 | |
| } body;
 | |
| 
 | |
| #define Type(x) ((x)->type)
 | |
| #define Mass(x) ((x)->mass)
 | |
| #define Pos(x)  ((x)->pos)
 | |
| #define Proc(x) ((x)->proc)
 | |
| #define New_Proc(x) ((x)->new_proc)
 | |
| #define Vel(x)  ((x)->vel)
 | |
| #define Acc(x)  ((x)->acc)
 | |
| #define New_Acc(x)  ((x)->new_acc)
 | |
| #define Phi(x)  ((x)->phi)
 | |
| #define Next(x) ((x)->next)
 | |
| #define Proc_Next(x) ((x)->proc_next)
 | |
| 
 | |
| bodyptr ubody_alloc(int p)
 | |
| { 
 | |
|   register bodyptr tmp;
 | |
|   tmp = (bodyptr)malloc(sizeof(body));
 | |
| 
 | |
|   Type(tmp) = BODY;
 | |
|   Proc(tmp) = p;
 | |
|   Proc_Next(tmp) = NULL;
 | |
|   New_Proc(tmp) = p;
 | |
|   return tmp;
 | |
| }
 | |
| 
 | |
| int main(int argc, char** argv) {
 | |
|   bodyptr b = ubody_alloc(17);
 | |
|   return 0;
 | |
| }
 |