mirror of
https://github.com/nArnoSNES/tcc-65816.git
synced 2024-06-12 13:29:29 +00:00
37 lines
665 B
C
37 lines
665 B
C
#include <stddef.h>
|
|
|
|
extern void *memset (void *, int, unsigned long);
|
|
extern void abort (void);
|
|
|
|
struct reg_stat {
|
|
void *last_death;
|
|
void *last_set;
|
|
void *last_set_value;
|
|
int last_set_label;
|
|
char last_set_sign_bit_copies;
|
|
int last_set_mode : 8;
|
|
char last_set_invalid;
|
|
char sign_bit_copies;
|
|
long nonzero_bits;
|
|
};
|
|
|
|
static struct reg_stat *reg_stat;
|
|
|
|
void __attribute__((noinline))
|
|
init_reg_last (void)
|
|
{
|
|
memset (reg_stat, 0, __builtin_offsetof (struct reg_stat, sign_bit_copies));
|
|
}
|
|
|
|
int main (void)
|
|
{
|
|
struct reg_stat r;
|
|
|
|
reg_stat = &r;
|
|
r.nonzero_bits = -1;
|
|
init_reg_last ();
|
|
if (r.nonzero_bits != -1)
|
|
abort ();
|
|
return 0;
|
|
}
|