All of lore.kernel.org
 help / color / mirror / Atom feed
* [kvm-unit-tests PATCH] x86: setjmp: ignore clang's "-Wsomtimes-uninitialized" flag
@ 2019-09-09 21:09 Bill Wendling
  2019-09-10 16:46 ` Jim Mattson
  0 siblings, 1 reply; 5+ messages in thread
From: Bill Wendling @ 2019-09-09 21:09 UTC (permalink / raw)
  To: kvm

Clang complains that "i" might be uninitialized in the "printf"
statement. This is a false negative, because it's set in the "if"
statement and then incremented in the loop created by the "longjmp".

Signed-off-by: Bill Wendling <morbo@google.com>
---
 x86/setjmp.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/x86/setjmp.c b/x86/setjmp.c
index 976a632..cf9adcb 100644
--- a/x86/setjmp.c
+++ b/x86/setjmp.c
@@ -1,6 +1,10 @@
 #include "libcflat.h"
 #include "setjmp.h"

+#ifdef __clang__
+#pragma clang diagnostic ignored "-Wsometimes-uninitialized"
+#endif
+
 int main(void)
 {
     volatile int i;

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [kvm-unit-tests PATCH] x86: setjmp: ignore clang's "-Wsomtimes-uninitialized" flag
  2019-09-09 21:09 [kvm-unit-tests PATCH] x86: setjmp: ignore clang's "-Wsomtimes-uninitialized" flag Bill Wendling
@ 2019-09-10 16:46 ` Jim Mattson
  2019-09-10 17:59   ` Sean Christopherson
  0 siblings, 1 reply; 5+ messages in thread
From: Jim Mattson @ 2019-09-10 16:46 UTC (permalink / raw)
  To: Bill Wendling; +Cc: kvm list

On Mon, Sep 9, 2019 at 2:10 PM Bill Wendling <morbo@google.com> wrote:
>
> Clang complains that "i" might be uninitialized in the "printf"
> statement. This is a false negative, because it's set in the "if"
> statement and then incremented in the loop created by the "longjmp".
>
> Signed-off-by: Bill Wendling <morbo@google.com>
> ---
>  x86/setjmp.c | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/x86/setjmp.c b/x86/setjmp.c
> index 976a632..cf9adcb 100644
> --- a/x86/setjmp.c
> +++ b/x86/setjmp.c
> @@ -1,6 +1,10 @@
>  #include "libcflat.h"
>  #include "setjmp.h"
>
> +#ifdef __clang__
> +#pragma clang diagnostic ignored "-Wsometimes-uninitialized"
> +#endif
> +
>  int main(void)
>  {
>      volatile int i;

Can we just add an initializer here instead?

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [kvm-unit-tests PATCH] x86: setjmp: ignore clang's "-Wsomtimes-uninitialized" flag
  2019-09-10 16:46 ` Jim Mattson
@ 2019-09-10 17:59   ` Sean Christopherson
  2019-09-11  1:42     ` Bill Wendling
  0 siblings, 1 reply; 5+ messages in thread
From: Sean Christopherson @ 2019-09-10 17:59 UTC (permalink / raw)
  To: Jim Mattson; +Cc: Bill Wendling, kvm list

On Tue, Sep 10, 2019 at 09:46:36AM -0700, Jim Mattson wrote:
> On Mon, Sep 9, 2019 at 2:10 PM Bill Wendling <morbo@google.com> wrote:
> >
> > Clang complains that "i" might be uninitialized in the "printf"
> > statement. This is a false negative, because it's set in the "if"
> > statement and then incremented in the loop created by the "longjmp".
> >
> > Signed-off-by: Bill Wendling <morbo@google.com>
> > ---
> >  x86/setjmp.c | 4 ++++
> >  1 file changed, 4 insertions(+)
> >
> > diff --git a/x86/setjmp.c b/x86/setjmp.c
> > index 976a632..cf9adcb 100644
> > --- a/x86/setjmp.c
> > +++ b/x86/setjmp.c
> > @@ -1,6 +1,10 @@
> >  #include "libcflat.h"
> >  #include "setjmp.h"
> >
> > +#ifdef __clang__
> > +#pragma clang diagnostic ignored "-Wsometimes-uninitialized"
> > +#endif
> > +
> >  int main(void)
> >  {
> >      volatile int i;
> 
> Can we just add an initializer here instead?

Doing so would also be a good opportunity to actually report on the
expected vs. actual value of 'i' instead of printing numbers that are
meaningless without diving into the code.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [kvm-unit-tests PATCH] x86: setjmp: ignore clang's "-Wsomtimes-uninitialized" flag
  2019-09-10 17:59   ` Sean Christopherson
@ 2019-09-11  1:42     ` Bill Wendling
  2019-09-11  2:32       ` Bill Wendling
  0 siblings, 1 reply; 5+ messages in thread
From: Bill Wendling @ 2019-09-11  1:42 UTC (permalink / raw)
  To: Sean Christopherson; +Cc: Jim Mattson, kvm list

On Tue, Sep 10, 2019 at 12:59 PM Sean Christopherson
<sean.j.christopherson@intel.com> wrote:
>
> On Tue, Sep 10, 2019 at 09:46:36AM -0700, Jim Mattson wrote:
> > On Mon, Sep 9, 2019 at 2:10 PM Bill Wendling <morbo@google.com> wrote:
> > >
> > > Clang complains that "i" might be uninitialized in the "printf"
> > > statement. This is a false negative, because it's set in the "if"
> > > statement and then incremented in the loop created by the "longjmp".
> > >
> > > Signed-off-by: Bill Wendling <morbo@google.com>
> > > ---
> > >  x86/setjmp.c | 4 ++++
> > >  1 file changed, 4 insertions(+)
> > >
> > > diff --git a/x86/setjmp.c b/x86/setjmp.c
> > > index 976a632..cf9adcb 100644
> > > --- a/x86/setjmp.c
> > > +++ b/x86/setjmp.c
> > > @@ -1,6 +1,10 @@
> > >  #include "libcflat.h"
> > >  #include "setjmp.h"
> > >
> > > +#ifdef __clang__
> > > +#pragma clang diagnostic ignored "-Wsometimes-uninitialized"
> > > +#endif
> > > +
> > >  int main(void)
> > >  {
> > >      volatile int i;
> >
> > Can we just add an initializer here instead?
>
> Doing so would also be a good opportunity to actually report on the
> expected vs. actual value of 'i' instead of printing numbers that are
> meaningless without diving into the code.

My initial thought about adding an initializer was that the original
test wanted to ensure that "i" was initialized after the "setjmp"
call. But if we report the expected/actual value instead it wouldn't
be an issue as we can set it to something not expected, etc... I'll
create a patch.

-bw

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [kvm-unit-tests PATCH] x86: setjmp: ignore clang's "-Wsomtimes-uninitialized" flag
  2019-09-11  1:42     ` Bill Wendling
@ 2019-09-11  2:32       ` Bill Wendling
  0 siblings, 0 replies; 5+ messages in thread
From: Bill Wendling @ 2019-09-11  2:32 UTC (permalink / raw)
  To: Sean Christopherson; +Cc: Jim Mattson, kvm list

I sent out a separate patch. PTAL. :-)

On Tue, Sep 10, 2019 at 8:42 PM Bill Wendling <morbo@google.com> wrote:
>
> On Tue, Sep 10, 2019 at 12:59 PM Sean Christopherson
> <sean.j.christopherson@intel.com> wrote:
> >
> > On Tue, Sep 10, 2019 at 09:46:36AM -0700, Jim Mattson wrote:
> > > On Mon, Sep 9, 2019 at 2:10 PM Bill Wendling <morbo@google.com> wrote:
> > > >
> > > > Clang complains that "i" might be uninitialized in the "printf"
> > > > statement. This is a false negative, because it's set in the "if"
> > > > statement and then incremented in the loop created by the "longjmp".
> > > >
> > > > Signed-off-by: Bill Wendling <morbo@google.com>
> > > > ---
> > > >  x86/setjmp.c | 4 ++++
> > > >  1 file changed, 4 insertions(+)
> > > >
> > > > diff --git a/x86/setjmp.c b/x86/setjmp.c
> > > > index 976a632..cf9adcb 100644
> > > > --- a/x86/setjmp.c
> > > > +++ b/x86/setjmp.c
> > > > @@ -1,6 +1,10 @@
> > > >  #include "libcflat.h"
> > > >  #include "setjmp.h"
> > > >
> > > > +#ifdef __clang__
> > > > +#pragma clang diagnostic ignored "-Wsometimes-uninitialized"
> > > > +#endif
> > > > +
> > > >  int main(void)
> > > >  {
> > > >      volatile int i;
> > >
> > > Can we just add an initializer here instead?
> >
> > Doing so would also be a good opportunity to actually report on the
> > expected vs. actual value of 'i' instead of printing numbers that are
> > meaningless without diving into the code.
>
> My initial thought about adding an initializer was that the original
> test wanted to ensure that "i" was initialized after the "setjmp"
> call. But if we report the expected/actual value instead it wouldn't
> be an issue as we can set it to something not expected, etc... I'll
> create a patch.
>
> -bw

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-09-11  2:33 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-09 21:09 [kvm-unit-tests PATCH] x86: setjmp: ignore clang's "-Wsomtimes-uninitialized" flag Bill Wendling
2019-09-10 16:46 ` Jim Mattson
2019-09-10 17:59   ` Sean Christopherson
2019-09-11  1:42     ` Bill Wendling
2019-09-11  2:32       ` Bill Wendling

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.