FIxed problem with volatile structs and the ./-> operators
This commit is contained in:
parent
384d4c7647
commit
3a074a6f99
|
@ -147,9 +147,11 @@ ch3sel(expp, oper, idf)
|
|||
exp->ex_lvalue = (sd->sd_type->tp_fund != ARRAY);
|
||||
exp->ex_flags &= ~EX_ILVALUE;
|
||||
}
|
||||
if (sd->sd_type->tp_typequal & TQ_CONST)
|
||||
if ((sd->sd_type->tp_typequal & TQ_CONST)
|
||||
|| (tp->tp_typequal & TQ_CONST))
|
||||
exp->ex_flags |= EX_READONLY;
|
||||
if (sd->sd_type->tp_typequal & TQ_VOLATILE)
|
||||
if ((sd->sd_type->tp_typequal & TQ_VOLATILE)
|
||||
|| (tp->tp_typequal & TQ_VOLATILE))
|
||||
exp->ex_flags |= EX_VOLATILE;
|
||||
if (oper == '.' && exp->ex_flags & EX_READONLY) {
|
||||
exp->ex_type = qualifier_type(exp->ex_type, TQ_CONST);
|
||||
|
|
Loading…
Reference in a new issue