From 9fda4f4248f24ee3e9feb9204bd1ef035c4859da Mon Sep 17 00:00:00 2001 From: grischka Date: Sat, 18 Jul 2009 22:07:17 +0200 Subject: win32: treat long double as double --- tccpp.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'tccpp.c') diff --git a/tccpp.c b/tccpp.c index 505ba52..25b6cbb 100644 --- a/tccpp.c +++ b/tccpp.c @@ -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); -- cgit v1.3.1