Consider long int constant as 64 bits on x86-64

Quick and dirty hack to consider long int constant (as in 1UL or 1L) as
64 bits integer on x86-64 non Windows systems.
This commit is contained in:
Thomas Preud'homme 2012-03-14 15:47:42 +01:00
parent 53c5715cca
commit 1736a71b71

View File

@ -2028,12 +2028,16 @@ static void parse_number(const char *p)
if (lcount >= 2)
tcc_error("three 'l's in integer constant");
lcount++;
#if !defined TCC_TARGET_X86_64 || defined TCC_TARGET_PE
if (lcount == 2) {
#endif
if (tok == TOK_CINT)
tok = TOK_CLLONG;
else if (tok == TOK_CUINT)
tok = TOK_CULLONG;
#if !defined TCC_TARGET_X86_64 || defined TCC_TARGET_PE
}
#endif
ch = *p++;
} else if (t == 'U') {
if (ucount >= 1)