[libvirt] [PATCH v2] utiltest: Use int8_t instead of char.

Not every architecture out there has 'char' signed by default. For instance, my arm box has it unsigned by default: $ gcc -dM -E - < /dev/null | grep __CHAR_UNSIGNED__ #define __CHAR_UNSIGNED__ 1 Therefore, after 65c61e50 the test if failing for me. Problem is, we are trying to assign couple of negative values into char assuming some will overflow and some don't. That can't be the case if 'char' is unsigned by default. Lets use more explicit types instead: int8_t and uint8_t where is no ambiguity. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- tests/utiltest.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/utiltest.c b/tests/utiltest.c index 3a1f8eb..98c689d 100644 --- a/tests/utiltest.c +++ b/tests/utiltest.c @@ -184,8 +184,8 @@ static int testOverflowCheckMacro(const void *data ATTRIBUTE_UNUSED) { long long tmp; - unsigned char luchar; - char lchar; + uint8_t luchar; + int8_t lchar; TEST_OVERFLOW(luchar, 254, false); TEST_OVERFLOW(luchar, 255, false); -- 2.3.6

On Mon, Jun 08, 2015 at 12:58:06 +0200, Michal Privoznik wrote:
Not every architecture out there has 'char' signed by default. For instance, my arm box has it unsigned by default:
$ gcc -dM -E - < /dev/null | grep __CHAR_UNSIGNED__ #define __CHAR_UNSIGNED__ 1
Therefore, after 65c61e50 the test if failing for me. Problem is, we are trying to assign couple of negative values into char assuming some will overflow and some don't. That can't be the case if 'char' is unsigned by default. Lets use more explicit types instead: int8_t and uint8_t where is no ambiguity.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- tests/utiltest.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
ACK, Peter
participants (2)
-
Michal Privoznik
-
Peter Krempa