MOD_UNSIGNED
if (type_bits(type) == 1 && type->ctype.modifiers & MOD_UNSIGNED)
if (ctype->ctype.modifiers & MOD_UNSIGNED)
if (mod & MOD_UNSIGNED)
if ((lmod ^ rmod) & MOD_UNSIGNED) {
if (lmod & MOD_UNSIGNED)
if (!(ctype->ctype.modifiers & MOD_UNSIGNED))
is_signed = !(ctype->ctype.modifiers & MOD_UNSIGNED);
if (v == mask && !(expr->ctype->ctype.modifiers & MOD_UNSIGNED))
int no_expand = expr->ctype->ctype.modifiers & MOD_UNSIGNED;
parent->ctype.modifiers |= (base_type->ctype.modifiers & MOD_UNSIGNED);
return ctype->ctype.modifiers & MOD_UNSIGNED ? &uchar_ctype
return ctype->ctype.modifiers & MOD_UNSIGNED ? &ushort_ctype
return ctype->ctype.modifiers & MOD_UNSIGNED ? &uint_ctype
return ctype->ctype.modifiers & MOD_UNSIGNED ? &ullong_ctype
return ctype->ctype.modifiers & MOD_UNSIGNED ? &ulllong_ctype
return ctype->ctype.modifiers & MOD_UNSIGNED ? uintptr_ctype
return ctype->ctype.modifiers & MOD_UNSIGNED ? &ulong_ctype
int is_signed = !(bitfield_type->ctype.modifiers & MOD_UNSIGNED);
int is_unsigned = type->ctype.modifiers & MOD_UNSIGNED;
{MOD_UNSIGNED, "[unsigned]"},
if (base_type->ctype.modifiers & MOD_UNSIGNED)
modifiers = (modifiers & ~MOD_SIGNED) | MOD_UNSIGNED;
#define CHAR_SIGNEDNESS MOD_UNSIGNED
{ &bool_ctype, SYM_BASETYPE, MOD_UNSIGNED, &bits_in_bool, &max_int_alignment, &int_type },
{ &uchar_ctype, SYM_BASETYPE, MOD_UNSIGNED | MOD_CHAR, &bits_in_char, &max_int_alignment, &int_type },
{ &ushort_ctype, SYM_BASETYPE, MOD_UNSIGNED | MOD_SHORT, &bits_in_short, &max_int_alignment, &int_type },
{ &uint_ctype, SYM_BASETYPE, MOD_UNSIGNED, &bits_in_int, &max_int_alignment, &int_type },
{ &ulong_ctype, SYM_BASETYPE, MOD_UNSIGNED | MOD_LONG, &bits_in_long, &max_int_alignment, &int_type },
{ &ullong_ctype, SYM_BASETYPE, MOD_UNSIGNED | MOD_LL, &bits_in_longlong, &max_int_alignment, &int_type },
{ &ulllong_ctype, SYM_BASETYPE, MOD_UNSIGNED | MOD_LLL, &bits_in_longlonglong, &max_int_alignment, &int_type },
char_ctype.ctype.modifiers |= MOD_UNSIGNED;
#define MOD_SIGNEDNESS (MOD_SIGNED | MOD_UNSIGNED | MOD_EXPLICITLY_SIGNED)
return !(sym->ctype.modifiers & MOD_UNSIGNED);
int is_signed = !(ctype->ctype.modifiers & MOD_UNSIGNED);