Hi,
On Fri, 10 Feb 2017, grischka wrote:
FYI, GCC 6 behaves in the same way with -std=c89, -std=c99 and -std=c11.
Ditto for Clang 3.9.
I wouldn't really mind if we change the behavior.
I think we should. If still for 0.9.27 I don't know. It's a subtle
change breaking stuff in strange corners.
Ciao,
Michael.
Basically tccgen.c contains 8 lines (in gen_op/expr_cond) similar to
if ((t1 & (VT_BTYPE | VT_UNSIGNED)) == (VT_LLONG | VT_UNSIGNED) ...
if ((t1 & (VT_BTYPE | VT_UNSIGNED)) == (VT_INT | VT_UNSIGNED) ...
Maybe we just need to change these like this
if ((t1 & (VT_BTYPE | VT_UNSIGNED | VT_BITFIELD)) == ....
Note that VT_BITFIELD set implies bit-field width < original type width.
--- grischka
_______________________________________________
Tinycc-devel mailing list
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel
_______________________________________________
Tinycc-devel mailing list
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel