mirror of
https://github.com/frida/tinycc
synced 2024-11-24 08:39:37 +03:00
pass constness from structs to members
This commit is contained in:
parent
dca2b15df4
commit
e7297581fc
3
tccgen.c
3
tccgen.c
@ -3266,9 +3266,11 @@ static void unary(void)
|
||||
inc(1, tok);
|
||||
next();
|
||||
} else if (tok == '.' || tok == TOK_ARROW) {
|
||||
int qualifiers;
|
||||
/* field */
|
||||
if (tok == TOK_ARROW)
|
||||
indir();
|
||||
qualifiers = vtop->type.t & (VT_CONSTANT | VT_VOLATILE);
|
||||
test_lvalue();
|
||||
gaddrof();
|
||||
next();
|
||||
@ -3290,6 +3292,7 @@ static void unary(void)
|
||||
gen_op('+');
|
||||
/* change type to field type, and set to lvalue */
|
||||
vtop->type = s->type;
|
||||
vtop->type.t |= qualifiers;
|
||||
/* an array is never an lvalue */
|
||||
if (!(vtop->type.t & VT_ARRAY)) {
|
||||
vtop->r |= lvalue_type(vtop->type.t);
|
||||
|
Loading…
Reference in New Issue
Block a user