History

Fix parameter passing of long long bitfield

Thomas Preud'homme committed 12 years ago

Commit 17314a11 parent 4e5f15c2 files · +4 −0Browse files

Unified · Split

2 files
  1. Changelog +1 −0
  2. tccgen.c +3 −0
Changelog+1−0
@@ -66,6 +66,7 @@ Bug fixes: · 65 unmodified lines
6666 - use libtcc for static linking with runtime library (Thomas Preud'homme)
6767 - fix negation of 0.0 and -0.0 values (Thomas Preud'homme)
6868 - fix integer to double conversion on ARM (Thomas Preud'homme)
69+- fix parameter passing of (unsigned) long long bitfield (Thomas Preud'homme)
6970
7071 version 0.9.26:
7172
tccgen.c+3−0
@@ -3490,6 +3490,9 @@ static void gfunc_param_typed(Sym *func, Sym *arg) · 3489 unmodified lines
34903490 if ((vtop->type.t & VT_BTYPE) == VT_FLOAT) {
34913491 type.t = VT_DOUBLE;
34923492 gen_cast(&type);
3493+ } else if (vtop->type.t & VT_BITFIELD) {
3494+ type.t = vtop->type.t & (VT_BTYPE | VT_UNSIGNED);
3495+ gen_cast(&type);
34933496 }
34943497 } else if (arg == NULL) {
34953498 tcc_error("too many arguments to function");

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t