http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52304

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Version|unknown                     |4.5.2

--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-02-18 
14:01:15 UTC ---
So basically without all the cmake cruft it's just this:

$ gcc -g -Wall -Wextra test_included.c test_not_included.c test.c -o main

Which gives these warnings telling you about the problem:

test.c: In function ‘main’:
test.c:22:3: warning: implicit declaration of function
‘not_included_get_buffer’ [-Wimplicit-function-declaration]
test.c:22:14: warning: initialization makes pointer from integer without a cast
[enabled by default]
test.c:29:14: warning: initialization makes pointer from integer without a cast
[enabled by default]
test.c:7:14: warning: unused parameter ‘argc’ [-Wunused-parameter]
test.c:7:27: warning: unused parameter ‘argv’ [-Wunused-parameter]

This is how C works, if you dno't declare a function it is assumed to return
'int' and a pointer can't fit in an int.

If you don't like it you should fix the warnings or use
-Werror=implicit-function-declaration to make it an error.

This is not a bug in gcc

Reply via email to