This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[COMMITTED][AArch64] Avoid spurious uninitialized warning
- From: "Wilco Dijkstra" <wdijkstr at arm dot com>
- To: "'GNU C Library'" <libc-alpha at sourceware dot org>
- Date: Mon, 24 Aug 2015 14:48:48 +0100
- Subject: [COMMITTED][AArch64] Avoid spurious uninitialized warning
- Authentication-results: sourceware.org; auth=none
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