aboutsummaryrefslogtreecommitdiff
path: root/tccgen.c
diff options
context:
space:
mode:
Diffstat (limited to 'tccgen.c')
-rw-r--r--tccgen.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/tccgen.c b/tccgen.c
index c5e368e..03a446a 100644
--- a/tccgen.c
+++ b/tccgen.c
@@ -3490,6 +3490,9 @@ static void gfunc_param_typed(Sym *func, Sym *arg)
if ((vtop->type.t & VT_BTYPE) == VT_FLOAT) {
type.t = VT_DOUBLE;
gen_cast(&type);
+ } else if (vtop->type.t & VT_BITFIELD) {
+ type.t = vtop->type.t & (VT_BTYPE | VT_UNSIGNED);
+ gen_cast(&type);
}
} else if (arg == NULL) {
tcc_error("too many arguments to function");