From: Paul Eggert Date: Tue, 24 May 2011 23:45:14 +0000 (-0700) Subject: intprops: shorten, to pacify gcc -Woverlength-strings X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8aad2a7bdd93df610506c08accd7cf1b67153f51;p=pspp intprops: shorten, to pacify gcc -Woverlength-strings * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT): (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)", so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less likely to run afoul of C compiler limits for string constant lengths. See . --- diff --git a/ChangeLog b/ChangeLog index 270866e7ac..fee8b5ad31 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2011-05-24 Paul Eggert + + intprops: shorten, to pacify gcc -Woverlength-strings + * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT): + (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)", + so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less + likely to run afoul of C compiler limits for string constant lengths. + See . + 2011-05-24 Eric Blake docs: document recently fixed glibc printf bug diff --git a/lib/intprops.h b/lib/intprops.h index 293204ab43..d722648555 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 . */ -#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 */