Add the new IA MCU test
From-SVN: r233109
This commit is contained in:
parent
ab4bae0c13
commit
b081ed4efc
1 changed files with 61 additions and 0 deletions
|
@ -0,0 +1,61 @@
|
|||
/* This tests passing and returning of empty structures and unions. */
|
||||
|
||||
#include "defines.h"
|
||||
#include "args.h"
|
||||
|
||||
struct IntegerRegisters iregbits = { ~0, ~0, ~0, ~0, ~0, ~0 };
|
||||
struct IntegerRegisters iregs;
|
||||
unsigned int num_iregs;
|
||||
|
||||
struct empty_struct
|
||||
{
|
||||
};
|
||||
|
||||
struct empty_struct
|
||||
check_struct_passing(struct empty_struct s0 ATTRIBUTE_UNUSED,
|
||||
struct empty_struct s1 ATTRIBUTE_UNUSED,
|
||||
int i0 ATTRIBUTE_UNUSED)
|
||||
{
|
||||
struct empty_struct s;
|
||||
check_int_arguments;
|
||||
return s;
|
||||
}
|
||||
|
||||
#define check_struct_passing WRAP_CALL(check_struct_passing)
|
||||
|
||||
union empty_union
|
||||
{
|
||||
};
|
||||
|
||||
union empty_union
|
||||
check_union_passing(union empty_union u0 ATTRIBUTE_UNUSED,
|
||||
union empty_union u1 ATTRIBUTE_UNUSED,
|
||||
int i0 ATTRIBUTE_UNUSED)
|
||||
{
|
||||
union empty_union u;
|
||||
check_int_arguments;
|
||||
return u;
|
||||
}
|
||||
|
||||
#define check_union_passing WRAP_CALL(check_union_passing)
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
struct empty_struct s;
|
||||
union empty_union u;
|
||||
|
||||
clear_struct_registers;
|
||||
iregs.I0 = 32;
|
||||
num_iregs = 1;
|
||||
clear_int_hardware_registers;
|
||||
check_union_passing(u,u,32);
|
||||
|
||||
clear_struct_registers;
|
||||
iregs.I0 = 33;
|
||||
num_iregs = 1;
|
||||
clear_int_hardware_registers;
|
||||
check_struct_passing(s,s,33);
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Add table
Reference in a new issue