From b5f88b593a580956dfb74b6fb9ba9ab3e178bdf6 Mon Sep 17 00:00:00 2001 From: seyko Date: Tue, 3 Mar 2015 16:32:25 +0300 Subject: [PATCH] Turn on a implicit-function-declaration warning by default. A non declared function leads to a seriuos problems. And while gcc don't turn this warning on lets tcc do it. This warning can be turned off by -Wno-implicit-function-declaration option. And autor must explicitly do this if program must be compiled with this warning off. --- libtcc.c | 1 + tests/tests2/46_grep.c | 1 + tests/tests2/64_macro_nesting.c | 2 ++ win32/examples/fib.c | 1 + 4 files changed, 5 insertions(+) diff --git a/libtcc.c b/libtcc.c index f07699b..94f4324 100644 --- a/libtcc.c +++ b/libtcc.c @@ -1045,6 +1045,7 @@ LIBTCCAPI TCCState *tcc_new(void) ".dynhashtab", SHF_PRIVATE); s->alacarte_link = 1; s->nocommon = 1; + s->warn_implicit_function_declaration = 1; #ifdef CHAR_IS_UNSIGNED s->char_is_unsigned = 1; diff --git a/tests/tests2/46_grep.c b/tests/tests2/46_grep.c index 3123bc3..049dfb1 100644 --- a/tests/tests2/46_grep.c +++ b/tests/tests2/46_grep.c @@ -16,6 +16,7 @@ */ #include #include +#include // tolower() /* * grep diff --git a/tests/tests2/64_macro_nesting.c b/tests/tests2/64_macro_nesting.c index 44b582f..676e5d3 100644 --- a/tests/tests2/64_macro_nesting.c +++ b/tests/tests2/64_macro_nesting.c @@ -1,3 +1,5 @@ +#include // printf() + #define CAT2(a,b) a##b #define CAT(a,b) CAT2(a,b) #define AB(x) CAT(x,y) diff --git a/win32/examples/fib.c b/win32/examples/fib.c index 7c4ee24..8da26bc 100644 --- a/win32/examples/fib.c +++ b/win32/examples/fib.c @@ -1,4 +1,5 @@ #include +#include // atoi() int fib(n) {