aboutsummaryrefslogtreecommitdiff
path: root/soft-fp/fmasf4.c
diff options
context:
space:
mode:
Diffstat (limited to 'soft-fp/fmasf4.c')
-rw-r--r--soft-fp/fmasf4.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/soft-fp/fmasf4.c b/soft-fp/fmasf4.c
index 03855a36ff..b770a0719f 100644
--- a/soft-fp/fmasf4.c
+++ b/soft-fp/fmasf4.c
@@ -25,6 +25,7 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <libc-internal.h>
#include <math.h>
#include "soft-fp.h"
#include "single.h"
@@ -44,7 +45,18 @@ __fmaf (float a, float b, float c)
FP_UNPACK_S (B, b);
FP_UNPACK_S (C, c);
FP_FMA_S (R, A, B, C);
+ /* R_e is not set in cases where it is not used in packing, but the
+ compiler does not see that it is set in all cases where it is
+ used, resulting in warnings that it may be used
+ uninitialized. */
+ DIAG_PUSH_NEEDS_COMMENT;
+#if __GNUC_PREREQ (4, 7)
+ DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmaybe-uninitialized");
+#else
+ DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wuninitialized");
+#endif
FP_PACK_S (r, R);
+ DIAG_POP_NEEDS_COMMENT;
FP_HANDLE_EXCEPTIONS;
return r;