[llvm-commits] CVS: llvm/test/CFrontend/2007-03-05-DataLayout.c

Reid Spencer reid at x10sys.com
Mon Mar 5 19:00:33 PST 2007



Changes in directory llvm/test/CFrontend:

2007-03-05-DataLayout.c added (r1.1)
---
Log message:

Test to ensure that data layout is generated correctly for host platform.
This is for PR1242: http://llvm.org/PR1242 .


---
Diffs of the changes:  (+51 -0)

 2007-03-05-DataLayout.c |   51 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 51 insertions(+)


Index: llvm/test/CFrontend/2007-03-05-DataLayout.c
diff -c /dev/null llvm/test/CFrontend/2007-03-05-DataLayout.c:1.1
*** /dev/null	Mon Mar  5 21:00:27 2007
--- llvm/test/CFrontend/2007-03-05-DataLayout.c	Mon Mar  5 21:00:17 2007
***************
*** 0 ****
--- 1,51 ----
+ // Testcase for PR1242
+ // RUN: %llvmgcc -c %s -o %t && lli --force-interpreter=1 %t
+ #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;
+ }






More information about the llvm-commits mailing list