2010/6/12 Enrico Tröger enrico.troeger@uvena.de:
On Thu, 10 Jun 2010 13:33:44 +0200, Jiří wrote:
On Thu, Jun 10, 2010 at 13:05, Nick Treleaven nick.treleaven@btinternet.com wrote:
On Wed, 9 Jun 2010 21:40:58 +0200 Jiří Techet techet@gmail.com wrote:
Signed-off-by: Jiří Techet techet@gmail.com
src/plugindata.h | 2 ++
- gint plugin_version_check(gint abi_ver);\
gint plugin_version_check(gint abi_ver) \ { \
Why is this necessary?
If you don't compile the plugins with -Wmissing-prototypes then you don't get any warnings if you use a function that hasn't been declared (imagine you make a typo in a call of an API function or any of your internal functions). The plugin compiles just fine, but then it doesn't get loaded by geany on runtime and you have to start searching for what symbol is missing (using LD_DEBUG).
-Wmissing-prototypes requires that for every non-static function there is a previous declaration before it is defined/used. This is normally satisfied because these are in the header files - this macro is just an exceptional case.
In general, I would recommend that geany uses a slightly more strict set of warning options. I find the options used by gnome-common as a reasonable set:
-Wall -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-sign-compare
You might consider using them for the whole geany.
Just as an additional note: compiler flags should always be used by individual developers/users, not by the used build system directly.
Why? If you want to ensure that the sources satisfy some standards, then it's alright. You use -Wall after all.
-Wmissing-prototypes and friends are gcc specific and would break building with other compilers.
I guess you didn't mean to add them to the build system directly :).
You can use gnome-compiler-flags.m4 from the gnome-common package that checks whether you use gcc for compilation and only in this case the above flags are added (it adds a configure parameter where the set of flags can be configured).
Regards,
Jiri