2010/6/12 Enrico Tröger <[email protected]>: > On Thu, 10 Jun 2010 13:33:44 +0200, Jiří wrote: > >> On Thu, Jun 10, 2010 at 13:05, Nick Treleaven >> <[email protected]> wrote: >> > On Wed, 9 Jun 2010 21:40:58 +0200 >> > Jiří Techet <[email protected]> wrote: >> > >> >> Signed-off-by: Jiří Techet <[email protected]> >> >> --- >> >> 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 _______________________________________________ Geany-devel mailing list [email protected] http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel
