URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Go to most recent revision |
Only display areas with differences |
Details |
Blame |
View Log
Rev 149 |
Rev 154 |
#include <stdio.h>
|
#include <stdio.h>
|
#include <string.h>
|
#include <string.h>
|
#include <stdlib.h>
|
#include <stdlib.h>
|
|
|
typedef struct{void*super;int name;int size;}t;
|
typedef struct{void*super;int name;int size;}t;
|
t*f(t*clas,int size)
|
t*f(t*clas,int size)
|
{
|
{
|
t*child=(t*)malloc(size);
|
t*child=(t*)malloc(size);
|
memcpy(child,clas,clas->size);
|
memcpy(child,clas,clas->size);
|
child->super=clas;
|
child->super=clas;
|
child->name=0;
|
child->name=0;
|
child->size=size;
|
child->size=size;
|
return child;
|
return child;
|
}
|
}
|
main()
|
main()
|
{
|
{
|
t foo,*bar;
|
t foo,*bar;
|
memset(&foo,37,sizeof(t));
|
memset(&foo,37,sizeof(t));
|
foo.size=sizeof(t);
|
foo.size=sizeof(t);
|
bar=f(&foo,sizeof(t));
|
bar=f(&foo,sizeof(t));
|
if(bar->super!=&foo||bar->name!=0||bar->size!=sizeof(t))abort();
|
if(bar->super!=&foo||bar->name!=0||bar->size!=sizeof(t))abort();
|
exit(0);
|
exit(0);
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.