diff options
| author | Daniel Glöckner <daniel-gl@gmx.net> | 2016-10-08 18:52:28 +0200 |
|---|---|---|
| committer | Daniel Glöckner <daniel-gl@gmx.net> | 2016-10-08 18:52:28 +0200 |
| commit | c09b6ce975190dfef22943ffeb0502f4d217e269 (patch) | |
| tree | 883f65a2b48d7d42487c262044fe3f444300b125 /tccgen.c | |
| parent | 3dfee1d290c6659cd57670b99abc50e10f481779 (diff) | |
| download | tinycc-c09b6ce975190dfef22943ffeb0502f4d217e269.tar.gz tinycc-c09b6ce975190dfef22943ffeb0502f4d217e269.tar.bz2 | |
tccgen.c: use correct type for storing long double constants
Diffstat (limited to 'tccgen.c')
| -rw-r--r-- | tccgen.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -5538,7 +5538,12 @@ static void init_putv(CType *type, Section *sec, unsigned long c, *(double *)ptr = vtop->c.d; break; case VT_LDOUBLE: - *(long double *)ptr = vtop->c.ld; + if (sizeof(long double) == LDOUBLE_SIZE) + *(long double *)ptr = vtop->c.ld; + else if (sizeof(double) == LDOUBLE_SIZE) + *(double *)ptr = vtop->c.ld; + else + tcc_error("can't cross compile long double constants"); break; case VT_LLONG: *(long long *)ptr |= (vtop->c.i & bit_mask) << bit_pos; |
