2015-08-02 05:43:39

by Tomer Barletz

[permalink] [raw]
Subject: [PATCH] Fix logical-not-parentheses warning

Signed-off-by: Tomer Barletz <[email protected]>
---
sound/pci/oxygen/oxygen_mixer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/pci/oxygen/oxygen_mixer.c b/sound/pci/oxygen/oxygen_mixer.c
index 6492bca..4ca1266 100644
--- a/sound/pci/oxygen/oxygen_mixer.c
+++ b/sound/pci/oxygen/oxygen_mixer.c
@@ -88,7 +88,7 @@ static int dac_mute_put(struct snd_kcontrol *ctl,
int changed;

mutex_lock(&chip->mutex);
- changed = !value->value.integer.value[0] != chip->dac_mute;
+ changed = (!value->value.integer.value[0]) != chip->dac_mute;
if (changed) {
chip->dac_mute = !value->value.integer.value[0];
chip->model.update_dac_mute(chip);
--
2.4.3


2015-08-02 07:10:23

by Takashi Iwai

[permalink] [raw]
Subject: Re: [PATCH] Fix logical-not-parentheses warning

On Sun, 02 Aug 2015 07:43:22 +0200,
Tomer Barletz wrote:
>
> Signed-off-by: Tomer Barletz <[email protected]>

This is rather a gcc5 problem that doesn't recognize the expression
correctly. Though, this change make things worse, so I'm willing to
take it. But please give the warning message itself in changelog
to show exactly what is the issue. The subject doesn't enough to
understand why this change is needed.


thanks,

Takashi

> ---
> sound/pci/oxygen/oxygen_mixer.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/sound/pci/oxygen/oxygen_mixer.c b/sound/pci/oxygen/oxygen_mixer.c
> index 6492bca..4ca1266 100644
> --- a/sound/pci/oxygen/oxygen_mixer.c
> +++ b/sound/pci/oxygen/oxygen_mixer.c
> @@ -88,7 +88,7 @@ static int dac_mute_put(struct snd_kcontrol *ctl,
> int changed;
>
> mutex_lock(&chip->mutex);
> - changed = !value->value.integer.value[0] != chip->dac_mute;
> + changed = (!value->value.integer.value[0]) != chip->dac_mute;
> if (changed) {
> chip->dac_mute = !value->value.integer.value[0];
> chip->model.update_dac_mute(chip);
> --
> 2.4.3
>
>

2015-08-02 09:09:40

by Tomer Barletz

[permalink] [raw]
Subject: [PATCH] Fix logical-not-parentheses warning

This fixes the following warning, that is seen with gcc 5.1:
warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses].

Signed-off-by: Tomer Barletz <[email protected]>
---
sound/pci/oxygen/oxygen_mixer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/pci/oxygen/oxygen_mixer.c b/sound/pci/oxygen/oxygen_mixer.c
index 6492bca..4ca1266 100644
--- a/sound/pci/oxygen/oxygen_mixer.c
+++ b/sound/pci/oxygen/oxygen_mixer.c
@@ -88,7 +88,7 @@ static int dac_mute_put(struct snd_kcontrol *ctl,
int changed;

mutex_lock(&chip->mutex);
- changed = !value->value.integer.value[0] != chip->dac_mute;
+ changed = (!value->value.integer.value[0]) != chip->dac_mute;
if (changed) {
chip->dac_mute = !value->value.integer.value[0];
chip->model.update_dac_mute(chip);
--
2.4.3

2015-08-02 14:16:30

by Joe Perches

[permalink] [raw]
Subject: Re: [PATCH] Fix logical-not-parentheses warning

On Sun, 2015-08-02 at 02:08 -0700, Tomer Barletz wrote:
> This fixes the following warning, that is seen with gcc 5.1:
> warning: logical not is only applied to the left hand side of
> comparison [-Wlogical-not-parentheses].
[]
> diff --git a/sound/pci/oxygen/oxygen_mixer.c
[]
>
@@ -88,7 +88,7 @@ static int dac_mute_put(struct snd_kcontrol *ctl,
> int changed;
>
> mutex_lock(&chip->mutex);
> - changed = !value->value.integer.value[0] != chip->dac_mute;
> + changed = (!value->value.integer.value[0]) != chip->dac_mute;

It seems this is because dac_mute's value is inverted
0 means true, 1 is false.

I think it'd be simpler if dac_mute was converted to a
standard bool (or perhaps renamed to not_muted) and
this test was rewritten.

Using !!value->value.integer.value[0] would also be
more readable and intelligible.

2015-08-03 08:15:54

by Takashi Iwai

[permalink] [raw]
Subject: Re: [PATCH] Fix logical-not-parentheses warning

On Sun, 02 Aug 2015 11:08:57 +0200,
Tomer Barletz wrote:
>
> This fixes the following warning, that is seen with gcc 5.1:
> warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses].
>
> Signed-off-by: Tomer Barletz <[email protected]>

Applied, thanks.


Takashi

> ---
> sound/pci/oxygen/oxygen_mixer.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/sound/pci/oxygen/oxygen_mixer.c b/sound/pci/oxygen/oxygen_mixer.c
> index 6492bca..4ca1266 100644
> --- a/sound/pci/oxygen/oxygen_mixer.c
> +++ b/sound/pci/oxygen/oxygen_mixer.c
> @@ -88,7 +88,7 @@ static int dac_mute_put(struct snd_kcontrol *ctl,
> int changed;
>
> mutex_lock(&chip->mutex);
> - changed = !value->value.integer.value[0] != chip->dac_mute;
> + changed = (!value->value.integer.value[0]) != chip->dac_mute;
> if (changed) {
> chip->dac_mute = !value->value.integer.value[0];
> chip->model.update_dac_mute(chip);
> --
> 2.4.3
>
>