--- layout: fc_discuss_archives title: Message 57 from Frama-C-discuss on February 2011 ---
Le ven. 18 f?vr. 2011 12:42:25 CET, "Boris Hollas" <hollas at informatik.htw-dresden.de> a ?crit : > > /*@ predicate unchanged{P,H}(bool* p) = > \at(*p, P) <==> \at(*p, H); > */ > > and > > ensures unchanged{P,H}(&this->active) > > I get "user error: no label in the context". > I'm not sure of what you mean by ensures unchanged{P,H}(..). In an ensures clause, the only label you have are Old, Pre, Post and Here. In the declaration of the predicate, {P,H} are parameters, so that you can give them any name. On the other hand, when you use the predicate, you must instantiate these parameters with labels that exist in the context. That said, the error should be logic label P not found. Could you give a complete example that reproduce your issue? -- Virgile Prevosto Ing?nieur-Chercheur, CEA, LIST Laboratoire de S?ret? des Logiciels +33/0 1 69 08 82 98