tcc.h: declare CValue.tab[LDOUBLE_SIZE/4]

Should fix some warnings wrt. access out of array bounds.

tccelf.c: fix "static function unused" warning
x86_64-gen.c: fix "ctype.ref uninitialzed" warning and cleanup
tcc-win32.txt: remove obsolete limitation notes.
This commit is contained in:
grischka
2013-02-08 19:07:11 +01:00
parent 4b8e7f1f39
commit d6d7686b60
11 changed files with 100 additions and 109 deletions

View File

@ -106,15 +106,6 @@ enum {
are directly pushed on stack. */
//#define FUNC_STRUCT_PARAM_AS_PTR
#if defined(TCC_ARM_EABI) && defined(TCC_ARM_VFP)
ST_DATA CType float_type, double_type, func_float_type, func_double_type;
#define func_ldouble_type func_double_type
#else
#define func_float_type func_old_type
#define func_double_type func_old_type
#define func_ldouble_type func_old_type
#endif
/* pointer size, in bytes */
#define PTR_SIZE 4
@ -175,14 +166,27 @@ ST_DATA const int reg_classes[NB_REGS] = {
#endif
};
/* keep in sync with line 104 above */
#if defined(TCC_ARM_EABI) && defined(TCC_ARM_VFP)
ST_DATA CType float_type, double_type, func_float_type, func_double_type;
#endif
static int func_sub_sp_offset, last_itod_magic;
static int leaffunc;
#if defined(TCC_ARM_EABI) && defined(TCC_ARM_VFP)
static CType float_type, double_type, func_float_type, func_double_type;
ST_FUNC void arm_init_types(void)
{
float_type.t = VT_FLOAT;
double_type.t = VT_DOUBLE;
func_float_type.t = VT_FUNC;
func_float_type.ref = sym_push(SYM_FIELD, &float_type, FUNC_CDECL, FUNC_OLD);
func_double_type.t = VT_FUNC;
func_double_type.ref = sym_push(SYM_FIELD, &double_type, FUNC_CDECL, FUNC_OLD);
}
#else
#define func_float_type func_old_type
#define func_double_type func_old_type
#define func_ldouble_type func_old_type
ST_FUNC void arm_init_types(void) {}
#endif
static int two2mask(int a,int b) {
return (reg_classes[a]|reg_classes[b])&~(RC_INT|RC_FLOAT);
}