Skip to content

Frama-Clang fails to parse simple predicate

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


Id Project Category View Due Date Updated
ID0001808 Frama-Clang Plug-in > clang public 2014-06-13 2014-06-19
Reporter jens Assigned To virgile Resolution fixed
Priority high Severity major Reproducibility always
Platform - OS - OS Version -
Product Version Frama-C Neon-20140301 Target Version - Fixed in Version Frama-C GIT, precise the release id

Description :

When Frama-Clang is called on the following code fragment

/@ predicate IsValidRange(int a, integer n) = (0 <= n) && \valid(a+(0.. n-1)); */

void foo(int* a, int);

with the command line

frama-c -cpp-command 'gcc -C -E -nostdinc -I/opt/local/include -I/Users/jens/.opam/system/lib/frama-c/share/frama-c/libc' -cxx-clang-command="framaCIRGen" -cxx-demangling-full -wp -wp-rte -wp-out problem208.wp problem208.cpp

then the following error message occurs

Stack dump: 0. parser at end of file Segmentation fault (core dumped) [kernel] user error: Failed to parse C++ file. See Clang messages for more information [kernel] user error: skipping file "problem208.cpp" that has errors. [kernel] Frama-C aborted: invalid user input.

As far as I can see the problem is related to the predicate definition. It is one of our simpler predicates in ACSL by Example.

Steps To Reproduce :

The example is available also under acslplusplus/C++Examples/Problems/problem208.cpp

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