Def signedness != signed != unsigned for char

When checking for exact compatibility between types (such as in
__builtin_types_compatible_p) consider the case of default signedness to
be incompatible with both of the explicit signedness for char. That is,
char is incompatible with signed char *and* unsigned char, no matter
what the default signedness for char is.
This commit is contained in:
Thomas Preud'homme
2014-02-06 20:51:47 +08:00
parent e571850d79
commit b0b5165d16
4 changed files with 26 additions and 15 deletions

2
tcc.h
View File

@ -745,7 +745,7 @@ struct TCCState {
#define VT_BITFIELD 0x0040 /* bitfield modifier */
#define VT_CONSTANT 0x0800 /* const modifier */
#define VT_VOLATILE 0x1000 /* volatile modifier */
#define VT_SIGNED 0x2000 /* signed type */
#define VT_DEFSIGN 0x2000 /* signed type */
#define VT_VLA 0x00020000 /* VLA type (also has VT_PTR and VT_ARRAY) */
/* storage */