diff options
| author | Thomas Preud'homme <robotux@celest.fr> | 2014-02-04 20:54:28 +0800 |
|---|---|---|
| committer | Thomas Preud'homme <robotux@celest.fr> | 2014-02-04 20:55:24 +0800 |
| commit | 17314a1fb316eb712ae0c539ccea64fe1aeb5c93 (patch) | |
| tree | 41d9f2444d32627250bb54f49ca0c767f811c8e5 | |
| parent | 4e5f15c6851c69c4cc5da18209218eb918dbee77 (diff) | |
| download | tinycc-17314a1fb316eb712ae0c539ccea64fe1aeb5c93.tar.gz tinycc-17314a1fb316eb712ae0c539ccea64fe1aeb5c93.tar.bz2 | |
Fix parameter passing of long long bitfield
| -rw-r--r-- | Changelog | 1 | ||||
| -rw-r--r-- | tccgen.c | 3 |
2 files changed, 4 insertions, 0 deletions
@@ -66,6 +66,7 @@ Bug fixes: - use libtcc for static linking with runtime library (Thomas Preud'homme) - fix negation of 0.0 and -0.0 values (Thomas Preud'homme) - fix integer to double conversion on ARM (Thomas Preud'homme) +- fix parameter passing of (unsigned) long long bitfield (Thomas Preud'homme) version 0.9.26: @@ -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"); |
