Test to ensure that data layout is generated correctly for host platform.

This is for PR1242.

llvm-svn: 34944
This commit is contained in:
Reid Spencer 2007-03-06 03:00:17 +00:00
parent a8c81c5261
commit 3f634774aa
1 changed files with 51 additions and 0 deletions

View File

@ -0,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;
}