https://gcc.gnu.org/g:f307ab8b18c7b5623344b01f24af593594319196

commit r16-2268-gf307ab8b18c7b5623344b01f24af593594319196
Author: Andrew Pinski <quic_apin...@quicinc.com>
Date:   Tue Jul 15 08:56:31 2025 -0700

    libgcc: Fix aarch64 build
    
    For aarch64, libgcc is built with -Werror, after the latest
    -Wunused-but-set* commit (r16-2258-g0eac9cfee8cb0b21d), a new warning
    showed up:
    ```
    ../../../gcc/libgcc/config/libbid/bid_binarydecimal.c: In function
    ‘__binary32_to_bid128’:
    ../../../gcc/libgcc/config/libbid/bid_binarydecimal.c:130:31: error:
    variable ‘c3’ set but not used [-Werror=unused-but-set-variable=]
      130 | { unsigned long long c0,c1,c2,c3;                               \
          |                               ^~
    ../../../gcc/libgcc/config/libbid/bid_binarydecimal.c:146842:5: note:
    in expansion of macro ‘__mul_10x256_to_256’
    146842 |     __mul_10x256_to_256 (z.w[5], z.w[4], z.w[3], z.w[2],
    z.w[5], z.w[4],
           |     ^~~~~~~~~~~~~~~~~~~
    ```
    
    This fixes it by casting c3 to void after the last __mul_10x64 in
    __mul_10x256_to_256 macro to mark it as being "used".
    
    libgcc/config/libbid/ChangeLog:
    
            * bid_binarydecimal.c (__mul_10x256_to_256): Mark c3 as being
            used.
    
    Signed-off-by: Andrew Pinski <quic_apin...@quicinc.com>

Diff:
---
 libgcc/config/libbid/bid_binarydecimal.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/libgcc/config/libbid/bid_binarydecimal.c 
b/libgcc/config/libbid/bid_binarydecimal.c
index daca2ffe306f..12e32b9667aa 100644
--- a/libgcc/config/libbid/bid_binarydecimal.c
+++ b/libgcc/config/libbid/bid_binarydecimal.c
@@ -132,6 +132,7 @@ UINT64 CY;                                                  
    \
   __mul_10x64(p1,c1,a1,c0);                                     \
   __mul_10x64(p2,c2,a2,c1);                                     \
   __mul_10x64(p3,c3,a3,c2);                                     \
+  (void)c3;                                                    \
 }
 
 // Set up indices for low and high parts, depending on the endian-ness.

Reply via email to