Skip to content

request of clarification about using the address of a formal argument

ID0002392: This issue was created automatically from Mantis Issue 2392. Further discussion may take place here.


Id Project Category View Due Date Updated
ID0002392 Frama-C Documentation > ACSL public 2018-07-25 2018-07-25
Reporter jens Assigned To virgile Resolution suspended
Priority normal Severity minor Reproducibility always
Platform - OS - OS Version -
Product Version Frama-C 17-Chlorine Target Version - Fixed in Version -

Description :

In #2390 (closed) the issue was raised whether functions contracts such as

/*@ requires \valid(&a); ensures \false; */ void f(int a) { return ; }

are meaningful. More specifically, the ACSL manual should clarify whether using the address of a formal argument in a precondition is illegal. (When I see that WP uses such a precondition to verify \false, them I am all in for disallowing it.)

Of course, it would also be nice if Frama-C (the kernel?) would issue a diagnostics.

Additional Information :

The question also came up about using the address of a formal argument in a postcondition. For the time being, I don't see it as a meaningful feature.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information