summaryrefslogtreecommitdiff
path: root/lib/intprops.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/intprops.h')
-rw-r--r--lib/intprops.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/intprops.h b/lib/intprops.h
index 293204ab43a..d722648555b 100644
--- a/lib/intprops.h
+++ b/lib/intprops.h
@@ -25,11 +25,11 @@
/* Return a integer value, converted to the same type as the integer
expression E after integer type promotion. V is the unconverted value.
E should not have side effects. */
-#define _GL_INT_CONVERT(e, v) ((e) - (e) + (v))
+#define _GL_INT_CONVERT(e, v) (0 * (e) + (v))
/* Act like _GL_INT_CONVERT (E, -V) but work around a bug in IRIX 6.5 cc; see
<http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>. */
-#define _GL_INT_NEGATE_CONVERT(e, v) ((e) - (e) - (v))
+#define _GL_INT_NEGATE_CONVERT(e, v) (0 * (e) - (v))
/* The extra casts in the following macros work around compiler bugs,
e.g., in Cray C 5.0.3.0. */
@@ -314,7 +314,7 @@
Arguments should be free of side effects. */
#define _GL_BINARY_OP_OVERFLOW(a, b, op_result_overflow) \
op_result_overflow (a, b, \
- _GL_INT_MINIMUM ((b) - (b) + (a)), \
- _GL_INT_MAXIMUM ((b) - (b) + (a)))
+ _GL_INT_MINIMUM (0 * (b) + (a)), \
+ _GL_INT_MAXIMUM (0 * (b) + (a)))
#endif /* _GL_INTPROPS_H */