diff --git a/examples/ex3.c b/examples/ex3.c index 5556a4bc..f91377cb 100644 --- a/examples/ex3.c +++ b/examples/ex3.c @@ -1,6 +1,6 @@ #include -int fib(n) +int fib(int n) { if (n <= 2) return 1; @@ -18,6 +18,6 @@ int main(int argc, char **argv) } n = atoi(argv[1]); - printf("fib(%d) = %d\n", n, fib(n, 2)); + printf("fib(%d) = %d\n", n, fib(n)); return 0; } diff --git a/tccpp.c b/tccpp.c index cf5e69be..b30df5ad 100644 --- a/tccpp.c +++ b/tccpp.c @@ -2575,12 +2575,13 @@ static void parse_number(const char *p) if (t >= b) tcc_error("invalid digit"); n = n * b + t; - if (!ov) + if (!ov) { /* detect overflow */ if (n1 >= 0x1000000000000000ULL && n / b != n1) ov = 1; else n1 = n; + } } #ifdef TCC_CUT_ON_INTEGER_LITERAL_OVERFLOW /* On integer literal overflow use the most significant digits before