[PATCH] libdecnumber/dpd/decimal64: Fix compiler warning from Clang 15

Thomas Huth posted 1 patch 1 year, 5 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20221110131112.104283-1-thuth@redhat.com
libdecnumber/dpd/decimal64.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
[PATCH] libdecnumber/dpd/decimal64: Fix compiler warning from Clang 15
Posted by Thomas Huth 1 year, 5 months ago
Clang 15 from Fedora 37 complains:

 ../libdecnumber/dpd/decimal64.c:620:8: error: variable 'n' set but
 not used [-Werror,-Wunused-but-set-variable]
   Int  n;                     /* output bunch counter */
        ^
 1 error generated.

Remove the unused variable to silence the compiler warning.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 libdecnumber/dpd/decimal64.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/libdecnumber/dpd/decimal64.c b/libdecnumber/dpd/decimal64.c
index 4816176410..290dbe8177 100644
--- a/libdecnumber/dpd/decimal64.c
+++ b/libdecnumber/dpd/decimal64.c
@@ -617,7 +617,6 @@ static const uInt multies[]={131073, 26215, 5243, 1049, 210};
 #endif
 void decDigitsToDPD(const decNumber *dn, uInt *targ, Int shift) {
   Int  cut;		      /* work */
-  Int  n;		      /* output bunch counter */
   Int  digits=dn->digits;     /* digit countdown */
   uInt dpd;		      /* densely packed decimal value */
   uInt bin;		      /* binary value 0-999 */
@@ -676,7 +675,7 @@ void decDigitsToDPD(const decNumber *dn, uInt *targ, Int shift) {
     bin=0;			   /* [keep compiler quiet] */
   #endif
 
-  for(n=0; digits>0; n++) {	   /* each output bunch */
+  while (digits > 0) {             /* each output bunch */
     #if DECDPUN==3		   /* fast path, 3-at-a-time */
       bin=*inu;			   /* 3 digits ready for convert */
       digits-=3;		   /* [may go negative] */
-- 
2.31.1
Re: [PATCH] libdecnumber/dpd/decimal64: Fix compiler warning from Clang 15
Posted by Philippe Mathieu-Daudé 1 year, 5 months ago
On 10/11/22 14:11, Thomas Huth wrote:
> Clang 15 from Fedora 37 complains:
> 
>   ../libdecnumber/dpd/decimal64.c:620:8: error: variable 'n' set but
>   not used [-Werror,-Wunused-but-set-variable]
>     Int  n;                     /* output bunch counter */
>          ^
>   1 error generated.
> 
> Remove the unused variable to silence the compiler warning.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   libdecnumber/dpd/decimal64.c | 3 +--
>   1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/libdecnumber/dpd/decimal64.c b/libdecnumber/dpd/decimal64.c
> index 4816176410..290dbe8177 100644
> --- a/libdecnumber/dpd/decimal64.c
> +++ b/libdecnumber/dpd/decimal64.c
> @@ -617,7 +617,6 @@ static const uInt multies[]={131073, 26215, 5243, 1049, 210};
>   #endif
>   void decDigitsToDPD(const decNumber *dn, uInt *targ, Int shift) {
>     Int  cut;		      /* work */
> -  Int  n;		      /* output bunch counter */
>     Int  digits=dn->digits;     /* digit countdown */
>     uInt dpd;		      /* densely packed decimal value */
>     uInt bin;		      /* binary value 0-999 */
> @@ -676,7 +675,7 @@ void decDigitsToDPD(const decNumber *dn, uInt *targ, Int shift) {
>       bin=0;			   /* [keep compiler quiet] */
>     #endif
>   
> -  for(n=0; digits>0; n++) {	   /* each output bunch */
> +  while (digits > 0) {             /* each output bunch */
>       #if DECDPUN==3		   /* fast path, 3-at-a-time */
>         bin=*inu;			   /* 3 digits ready for convert */
>         digits-=3;		   /* [may go negative] */

Or we could we backport the upstream fix :)

https://gcc.gnu.org/git/?p=gcc.git;a=blobdiff;f=libdecnumber/dpd/decimal64.c;h=f72c5730ac3b473e2c334f604e7e52da9711fa72;hp=269eaecade5115a62e979897742cd5decec0681e;hb=8a79685989bff33f479d0ac2df0e18d55d3ba78b;hpb=e1d1842b5432472330384d1523bb3c3132c4fea0
Re: [PATCH] libdecnumber/dpd/decimal64: Fix compiler warning from Clang 15
Posted by Thomas Huth 1 year, 5 months ago
On 10/11/2022 21.00, Philippe Mathieu-Daudé wrote:
> On 10/11/22 14:11, Thomas Huth wrote:
>> Clang 15 from Fedora 37 complains:
>>
>>   ../libdecnumber/dpd/decimal64.c:620:8: error: variable 'n' set but
>>   not used [-Werror,-Wunused-but-set-variable]
>>     Int  n;                     /* output bunch counter */
>>          ^
>>   1 error generated.
>>
>> Remove the unused variable to silence the compiler warning.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>>   libdecnumber/dpd/decimal64.c | 3 +--
>>   1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/libdecnumber/dpd/decimal64.c b/libdecnumber/dpd/decimal64.c
>> index 4816176410..290dbe8177 100644
>> --- a/libdecnumber/dpd/decimal64.c
>> +++ b/libdecnumber/dpd/decimal64.c
>> @@ -617,7 +617,6 @@ static const uInt multies[]={131073, 26215, 5243, 
>> 1049, 210};
>>   #endif
>>   void decDigitsToDPD(const decNumber *dn, uInt *targ, Int shift) {
>>     Int  cut;              /* work */
>> -  Int  n;              /* output bunch counter */
>>     Int  digits=dn->digits;     /* digit countdown */
>>     uInt dpd;              /* densely packed decimal value */
>>     uInt bin;              /* binary value 0-999 */
>> @@ -676,7 +675,7 @@ void decDigitsToDPD(const decNumber *dn, uInt *targ, 
>> Int shift) {
>>       bin=0;               /* [keep compiler quiet] */
>>     #endif
>> -  for(n=0; digits>0; n++) {       /* each output bunch */
>> +  while (digits > 0) {             /* each output bunch */
>>       #if DECDPUN==3           /* fast path, 3-at-a-time */
>>         bin=*inu;               /* 3 digits ready for convert */
>>         digits-=3;           /* [may go negative] */
> 
> Or we could we backport the upstream fix :)
> 
> https://gcc.gnu.org/git/?p=gcc.git;a=blobdiff;f=libdecnumber/dpd/decimal64.c;h=f72c5730ac3b473e2c334f604e7e52da9711fa72;hp=269eaecade5115a62e979897742cd5decec0681e;hb=8a79685989bff33f479d0ac2df0e18d55d3ba78b;hpb=e1d1842b5432472330384d1523bb3c3132c4fea0 

I did not look on that code on purpose - it's licensed under the GPLv3, so 
we should not mix that back into our GPLv2 version.

  Thomas


Re: [PATCH] libdecnumber/dpd/decimal64: Fix compiler warning from Clang 15
Posted by Philippe Mathieu-Daudé 1 year, 5 months ago
On 11/11/22 08:43, Thomas Huth wrote:
> On 10/11/2022 21.00, Philippe Mathieu-Daudé wrote:
>> On 10/11/22 14:11, Thomas Huth wrote:
>>> Clang 15 from Fedora 37 complains:
>>>
>>>   ../libdecnumber/dpd/decimal64.c:620:8: error: variable 'n' set but
>>>   not used [-Werror,-Wunused-but-set-variable]
>>>     Int  n;                     /* output bunch counter */
>>>          ^
>>>   1 error generated.
>>>
>>> Remove the unused variable to silence the compiler warning.
>>>
>>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>>> ---
>>>   libdecnumber/dpd/decimal64.c | 3 +--
>>>   1 file changed, 1 insertion(+), 2 deletions(-)

>>
>> Or we could we backport the upstream fix :)
>>
>> https://gcc.gnu.org/git/?p=gcc.git;a=blobdiff;f=libdecnumber/dpd/decimal64.c;h=f72c5730ac3b473e2c334f604e7e52da9711fa72;hp=269eaecade5115a62e979897742cd5decec0681e;hb=8a79685989bff33f479d0ac2df0e18d55d3ba78b;hpb=e1d1842b5432472330384d1523bb3c3132c4fea0 
> 
> I did not look on that code on purpose - it's licensed under the GPLv3, 
> so we should not mix that back into our GPLv2 version.

Sigh, right. So:

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>


Re: [PATCH] libdecnumber/dpd/decimal64: Fix compiler warning from Clang 15
Posted by Cédric Le Goater 1 year, 5 months ago
On 11/10/22 14:11, Thomas Huth wrote:
> Clang 15 from Fedora 37 complains:
> 
>   ../libdecnumber/dpd/decimal64.c:620:8: error: variable 'n' set but
>   not used [-Werror,-Wunused-but-set-variable]
>     Int  n;                     /* output bunch counter */
>          ^
>   1 error generated.
> 
> Remove the unused variable to silence the compiler warning.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>

Reviewed-by: Cédric Le Goater <clg@kaod.org>

Thanks,

C.


> ---
>   libdecnumber/dpd/decimal64.c | 3 +--
>   1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/libdecnumber/dpd/decimal64.c b/libdecnumber/dpd/decimal64.c
> index 4816176410..290dbe8177 100644
> --- a/libdecnumber/dpd/decimal64.c
> +++ b/libdecnumber/dpd/decimal64.c
> @@ -617,7 +617,6 @@ static const uInt multies[]={131073, 26215, 5243, 1049, 210};
>   #endif
>   void decDigitsToDPD(const decNumber *dn, uInt *targ, Int shift) {
>     Int  cut;		      /* work */
> -  Int  n;		      /* output bunch counter */
>     Int  digits=dn->digits;     /* digit countdown */
>     uInt dpd;		      /* densely packed decimal value */
>     uInt bin;		      /* binary value 0-999 */
> @@ -676,7 +675,7 @@ void decDigitsToDPD(const decNumber *dn, uInt *targ, Int shift) {
>       bin=0;			   /* [keep compiler quiet] */
>     #endif
>   
> -  for(n=0; digits>0; n++) {	   /* each output bunch */
> +  while (digits > 0) {             /* each output bunch */
>       #if DECDPUN==3		   /* fast path, 3-at-a-time */
>         bin=*inu;			   /* 3 digits ready for convert */
>         digits-=3;		   /* [may go negative] */