aboutsummaryrefslogtreecommitdiff
path: root/tccpp.c
diff options
context:
space:
mode:
Diffstat (limited to 'tccpp.c')
-rw-r--r--tccpp.c10
1 files changed, 10 insertions, 0 deletions
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);