[Geany-devel] [PATCH 2/3] Prevent -Wmissing-prototypes report warning when compiling a plugin

Jiří Techet techet at xxxxx
Thu Jun 10 11:33:44 UTC 2010


On Thu, Jun 10, 2010 at 13:05, Nick Treleaven
<nick.treleaven at btinternet.com> wrote:
> On Wed,  9 Jun 2010 21:40:58 +0200
> Jiří Techet <techet at gmail.com> wrote:
>
>> Signed-off-by: Jiří Techet <techet at 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.

Regards,

Jiri



More information about the Devel mailing list