win32: treat long double as double

This commit is contained in:
grischka
2009-07-18 22:07:17 +02:00
parent 97738d1ae9
commit 9fda4f4248
2 changed files with 16 additions and 0 deletions

10
tccpp.c
View File

@ -1743,9 +1743,14 @@ void parse_number(const char *p)
tokc.f = (float)d;
} else if (t == 'L') {
ch = *p++;
#ifdef TCC_TARGET_PE
tok = TOK_CDOUBLE;
tokc.d = d;
#else
tok = TOK_CLDOUBLE;
/* XXX: not large enough */
tokc.ld = (long double)d;
#endif
} else {
tok = TOK_CDOUBLE;
tokc.d = d;
@ -1794,8 +1799,13 @@ void parse_number(const char *p)
tokc.f = strtof(token_buf, NULL);
} else if (t == 'L') {
ch = *p++;
#ifdef TCC_TARGET_PE
tok = TOK_CDOUBLE;
tokc.d = strtod(token_buf, NULL);
#else
tok = TOK_CLDOUBLE;
tokc.ld = strtold(token_buf, NULL);
#endif
} else {
tok = TOK_CDOUBLE;
tokc.d = strtod(token_buf, NULL);