diff options
| author | Kirill Smelkov <kirr@landau.phys.spbu.ru> | 2009-01-18 14:22:19 +0300 |
|---|---|---|
| committer | grischka <grischka> | 2009-04-18 15:07:08 +0200 |
| commit | 6213d4b4b65f14c608686a4745797f534ba5c54d (patch) | |
| tree | 06af98d1e1d390f877d7dc412c03175ff37bb4e5 | |
| parent | 5a044b67bba417f2d945c0831541cba83c204c05 (diff) | |
| download | tinycc-6213d4b4b65f14c608686a4745797f534ba5c54d.tar.gz tinycc-6213d4b4b65f14c608686a4745797f534ba5c54d.tar.bz2 | |
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>
| -rw-r--r-- | tcctest.c | 4 |
1 files changed, 0 insertions, 4 deletions
@@ -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"); |
