On Thu, 10 Jun 2010 14:21:27 +0200 Jiří Techet techet@gmail.com wrote:
Imagine you have:
foo.h: void foo(void);
foo.c: #include "foo.h"
void foo(void) { printf("foo"); }
main.c: #include "foo.h"
int main(int argc, char **argv) { foo(); return 0; }
This is OK. Now you rename foo(void) in foo.c to foobar(void) but forget to update the header. It compiles just fine because main.c finds the declaration of foo(void) in foo.h, but its implementation is missing (so the compiler thinks it's an extern symbol, but it's not actually defined anywhere).
OK, thanks for explaining. It sounds like a good warning flag.
Your patch only provides prototypes for the 2 macro-defined functions, but we would need prototypes for all plugin functions geany calls to satisfy the flag.
One way we might do that is to turn doc/pluginsymbols.c into a header file and include that in geanyplugin.h. What do you think?
Regards, Nick