string_test: we should always use 'unsigned int' for b

As recently shown in fb0ac2 (s/int/unsigned/ since GCC 4.3.2 produces
code which doesn't stop)

comparing (signed) int variable to 0x80000000 is not idea for x86_64.

This is not a good idea for x86_32 either, because GCC 4.3.2 (the one in
Debian Lenny) rightly assumes that a signed int could be never
0x80000000, and thus removes the check from

    while (b != 0x80000000) {
        ...

completely.

If we want this check, we need b to be always 'unsigned'

Signed-off-by: Kirill Smelkov <kirr@landau.phys.spbu.ru>
This commit is contained in:
Kirill Smelkov 2009-01-18 14:22:19 +03:00 committed by grischka
parent 5a044b67bb
commit 6213d4b4b6

View File

@ -312,11 +312,7 @@ test\14\
void string_test()
{
#if defined(__x86_64__) && defined(__GNUC__)
unsigned int b;
#else
int b;
#endif
printf("string:\n");
printf("\141\1423\143\n");/* dezdez test */
printf("\x41\x42\x43\x3a\n");