This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[COMMITTED][AArch64] Avoid spurious uninitialized warning


This patch works around a spurious uninitialized warning in libc_resetround_aarch64_ctx and
libc_resetround_noex_aarch64_ctx. Resulting code is either identical or avoids a redundant move.
Fixes GLIBC build failure on AArch64 and passes math tests.

Committed as trivial patch.

ChangeLog: 
2015-08-24  Wilco Dijkstra  <wdijkstr@arm.com>
	
	* sysdeps/aarch64/fpu/math_private.h (libc_feholdsetround_aarch64_ctx):
	Unconditionally set __fpcr to avoid uninialized warning.
	(libc_feholdsetround_noex_aarch64_ctx): Likewise.

---
 sysdeps/aarch64/fpu/math_private.h | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/sysdeps/aarch64/fpu/math_private.h b/sysdeps/aarch64/fpu/math_private.h
index 1f02ddb..43bef1a 100644
--- a/sysdeps/aarch64/fpu/math_private.h
+++ b/sysdeps/aarch64/fpu/math_private.h
@@ -252,6 +252,7 @@ libc_feholdsetround_aarch64_ctx (struct rm_ctx *ctx, int r)
   int round;
 
   _FPU_GETCW (fpcr);
+  ctx->env.__fpcr = fpcr;
 
   /* Check whether rounding modes are different.  */
   round = (fpcr ^ r) & _FPU_FPCR_RM_MASK;
@@ -259,10 +260,7 @@ libc_feholdsetround_aarch64_ctx (struct rm_ctx *ctx, int r)
 
   /* Set the rounding mode if changed.  */
   if (__glibc_unlikely (round != 0))
-    {
-      ctx->env.__fpcr = fpcr;
-      _FPU_SETCW (fpcr ^ round);
-    }
+    _FPU_SETCW (fpcr ^ round);
 }
 
 #define libc_feholdsetround_ctx		libc_feholdsetround_aarch64_ctx
@@ -290,6 +288,7 @@ libc_feholdsetround_noex_aarch64_ctx (struct rm_ctx *ctx, int r)
 
   _FPU_GETCW (fpcr);
   _FPU_GETFPSR (fpsr);
+  ctx->env.__fpcr = fpcr;
   ctx->env.__fpsr = fpsr;
 
   /* Check whether rounding modes are different.  */
@@ -298,10 +297,7 @@ libc_feholdsetround_noex_aarch64_ctx (struct rm_ctx *ctx, int r)
 
   /* Set the rounding mode if changed.  */
   if (__glibc_unlikely (round != 0))
-    {
-      ctx->env.__fpcr = fpcr;
-      _FPU_SETCW (fpcr ^ round);
-    }
+    _FPU_SETCW (fpcr ^ round);
 }
 
 #define libc_feholdsetround_noex_ctx	libc_feholdsetround_noex_aarch64_ctx
-- 
1.9.1




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]