[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Tinycc-devel] tcc 0.9.21: wrong code generated for casts
From: |
Bruno Haible |
Subject: |
[Tinycc-devel] tcc 0.9.21: wrong code generated for casts |
Date: |
Thu, 28 Oct 2004 15:05:29 +0200 |
User-agent: |
KMail/1.5 |
/* Hi, this file exposes bugs in tcc-0.9.21. It prints 0 0 0 0 while the
correct result is 1 1 1 1. */
#include <stdbool.h>
#include <stdio.h>
bool uint_char (char *p) {
return (char)(unsigned int)*p == *p;
}
bool ulong_char (char *p) {
return (char)(unsigned long)*p == *p;
}
bool uint_short (short *p) {
return (short)(unsigned int)*p == *p;
}
bool ulong_short (short *p) {
return (short)(unsigned long)*p == *p;
}
int main ()
{
char x = -3;
short y = -5;
printf ("%d %d %d %d\n",
uint_char (&x), ulong_char (&x), uint_short (&y), ulong_short (&y));
return 0;
}
- [Tinycc-devel] tcc 0.9.21: wrong code generated for casts,
Bruno Haible <=