Mailinglist Archive: opensuse-buildservice (312 mails)

< Previous Next >
Re: [opensuse-buildservice] diff brp-checks 11.1 / factory
  • From: Marcus Meissner <meissner@xxxxxxx>
  • Date: Thu, 23 Jul 2009 10:25:17 +0200
  • Message-id: <20090723082517.GC15011@xxxxxxx>
On Thu, Jul 23, 2009 at 10:02:46AM +0200, Dominique Leuenberger wrote:
Hi,

I was wondering why brp-checks are sometimes less strict than they are on
Factory.
Look at this short excerpt from a buildlog:

src/skin_main.cpp: In function 'void* Run(void*)':
src/skin_main.cpp:347: warning: control reaches end of non-void function
src/skin_main.cpp: At global scope:
src/skin_main.cpp:457: warning: 'int onSystrayChange(vlc_object_t*, const
char*, vlc_value_t, vlc_value_t, void*)' defined but not
used
src/skin_main.cpp:492: warning: 'int onTaskBarChange(vlc_object_t*, const
char*, vlc_value_t, vlc_value_t, void*)' defined but not
used

Ok, we all agree what the compiler warns about here. In 11.1, this is raised
to an error:
I: Program returns random data in a function
E: $pkg no-return-in-nonvoid-function src/skin_main.cpp:347

In 11.2 this passes cleanly the brp check (even though the compiler still
warns on it).

Now what would be the proper behavior? what 11.2 (aka Factory at the moment)
does or what 11.1 does?
Having a 'reaches end of non-void' on a function declared as void* looks
weird anyhow :) but that's another story.

If the 11.2 behavior is correct: how can I get 11.1 ignore this specific
error? (I don't want to completely disable brp-checks. I got to love them).
If the 11.1 behavior is correct: why did this vanish from the brp on Factory?

11.2 should be more strict I guess.

"void*" is a pointer value return, void is "no value return", these are two
different things.

Ciao, Marcus
--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-buildservice+help@xxxxxxxxxxxx

< Previous Next >