From 789eadcd54ffe62037461a4a22c2737ad9cbd01e Mon Sep 17 00:00:00 2001
From: Marek Polacek <polacek@redhat.com>
Date: Thu, 23 Jan 2014 19:04:29 +0000
Subject: [PATCH] re PR c/59871 (No unused value warning for comma expression)
PR c/59871
c/
* c-typeck.c (build_compound_expr): Warn even for right-hand operand
of a comma expression.
(emit_side_effect_warnings): Likewise.
libdecnumber/
* decNumberLocal.h (UBFROMUS, UBFROMUI): Remove last argument.
testsuite/
* gcc.dg/20020220-2.c: Adjust dg-warning message.
* gcc.dg/pr59871.c: New test.
From-SVN: r207002
---
gcc/c/ChangeLog | 7 +++++++
gcc/c/c-typeck.c | 34 +++++++++++++++++++++++++++++++
gcc/testsuite/ChangeLog | 6 ++++++
gcc/testsuite/gcc.dg/20020220-2.c | 4 ++--
gcc/testsuite/gcc.dg/pr59871.c | 22 ++++++++++++++++++++
libdecnumber/ChangeLog | 5 +++++
libdecnumber/decNumberLocal.h | 7 +++----
7 files changed, 79 insertions(+), 6 deletions(-)
create mode 100644 gcc/testsuite/gcc.dg/pr59871.c
diff --git a/decNumberLocal.h b/decNumberLocal.h
index 94e7f7f9b1f7..4936231f2a2b 100644
@@ -153,10 +153,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define UBTOUI(b) (memcpy((void *)&uiwork, b, 4), uiwork)
/* Store a uInt, etc., into bytes starting at a char* or uByte*. */
- /* Returns i, evaluated, for convenience; has to use uiwork because */
- /* i may be an expression. */
- #define UBFROMUS(b, i) (uswork=(i), memcpy(b, (void *)&uswork, 2), uswork)
- #define UBFROMUI(b, i) (uiwork=(i), memcpy(b, (void *)&uiwork, 4), uiwork)
+ /* Has to use uiwork because i may be an expression. */
+ #define UBFROMUS(b, i) (uswork=(i), memcpy(b, (void *)&uswork, 2))
+ #define UBFROMUI(b, i) (uiwork=(i), memcpy(b, (void *)&uiwork, 4))
/* X10 and X100 -- multiply integer i by 10 or 100 */
/* [shifts are usually faster than multiply; could be conditional] */