--- layout: fc_discuss_archives title: Message 23 from Frama-C-discuss on August 2012 ---
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Frama-c-discuss] Bug in Cil.datatype.Lval.Hashtbl?



Hello,

> As 'this' is a pointer, this->gear is represented internally as
>
> Mem ({ enode = Var vthis; ...}, Field (fgear, NoOffset))

I think it's
(Mem {enode = Lval(Var vthis, NoOffset); ....}, Field (fgear, NoOffset))


> The first argument of the Mem constructor is an expression. Thus, your
> two occurrences of this->gear will contain two different
> Cil_types.exp, that will have two different eids. The two lvals will

I understand that this->gear++, this->gear-- are different expressions. 
But why are the inner expressions this->gear different? How are the eids 
generated?

Are the respective vids equal?

> want is given by the functions Cil.compareExp and Cil.compareLval, but

These use ==. Is it possible to access the physical representation of ADTs?

- Boris